diff options
author | Stefan Metzmacher <metze@samba.org> | 2009-12-17 13:03:42 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2009-12-17 13:05:39 +0100 |
commit | bbfa4402e4e1a258281e396cb23aa68b697a6b2f (patch) | |
tree | e8fb22eeb87a70934bf5cc0695e8a4cddf932a2b /ctdb/server/ctdb_logging.c | |
parent | 9b507abd6e0daebde5cf24f174b419973c4f0a67 (diff) | |
download | samba-bbfa4402e4e1a258281e396cb23aa68b697a6b2f.tar.gz samba-bbfa4402e4e1a258281e396cb23aa68b697a6b2f.tar.xz samba-bbfa4402e4e1a258281e396cb23aa68b697a6b2f.zip |
server: fix fd leaks in the new logging code
metze
(This used to be ctdb commit 140070dd81b39545fe2d56f70e9b9c96bfdae07f)
Diffstat (limited to 'ctdb/server/ctdb_logging.c')
-rw-r--r-- | ctdb/server/ctdb_logging.c | 7 |
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]; |