From bbfa4402e4e1a258281e396cb23aa68b697a6b2f Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 17 Dec 2009 13:03:42 +0100 Subject: server: fix fd leaks in the new logging code metze (This used to be ctdb commit 140070dd81b39545fe2d56f70e9b9c96bfdae07f) --- ctdb/server/ctdb_logging.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ctdb/server/ctdb_logging.c b/ctdb/server/ctdb_logging.c index de25865871..b97f0ef568 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]; -- cgit