summaryrefslogtreecommitdiffstats
path: root/ctdb/server/ctdb_logging.c
diff options
context:
space:
mode:
Diffstat (limited to 'ctdb/server/ctdb_logging.c')
-rw-r--r--ctdb/server/ctdb_logging.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_logging.c b/ctdb/server/ctdb_logging.c
index de258658716..b97f0ef5682 100644
--- a/ctdb/server/ctdb_logging.c
+++ b/ctdb/server/ctdb_logging.c
@@ -479,8 +479,10 @@ struct ctdb_log_state *ctdb_fork_with_logging(TALLOC_CTX *mem_ctx,
}
log->pfd = p[0];
+ set_close_on_exec(log->pfd);
talloc_set_destructor(log, log_context_destructor);
- event_add_fd(ctdb->ev, log, log->pfd, EVENT_FD_READ,
+ event_add_fd(ctdb->ev, log, log->pfd,
+ EVENT_FD_READ | EVENT_FD_AUTOCLOSE,
ctdb_log_handler, log);
return log;
@@ -511,7 +513,8 @@ int ctdb_set_child_logging(struct ctdb_context *ctdb)
return -1;
}
- event_add_fd(ctdb->ev, ctdb->log, p[0], EVENT_FD_READ,
+ event_add_fd(ctdb->ev, ctdb->log, p[0],
+ EVENT_FD_READ | EVENT_FD_AUTOCLOSE,
ctdb_log_handler, ctdb->log);
set_close_on_exec(p[0]);
ctdb->log->pfd = p[0];