From b1f1e80d3ad50280a300f2ed021513cf0a6f3a76 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Tue, 8 Jul 2008 16:31:23 +1000 Subject: [PATCH] set sigchild to SIG_IGN instead of SIG_DFL --- server/ctdb_daemon.c | 6 +++--- server/ctdb_recoverd.c | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/ctdb_daemon.c b/server/ctdb_daemon.c index a7f9086e..83fcc0aa 100644 --- a/server/ctdb_daemon.c +++ b/server/ctdb_daemon.c @@ -662,9 +662,6 @@ int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork) } } block_signal(SIGPIPE); - - /* we dont want any SIGCHLD */ - signal(SIGCHLD, SIG_DFL); if (ctdb->do_setsched) { /* try to set us up as realtime */ @@ -734,6 +731,9 @@ int ctdb_start_daemon(struct ctdb_context *ctdb, bool do_fork) /* start the transport going */ ctdb_start_transport(ctdb); + /* we dont want any SIGCHLD */ + signal(SIGCHLD, SIG_IGN); + /* go into a wait loop to allow other nodes to complete */ event_loop_wait(ctdb->ev); diff --git a/server/ctdb_recoverd.c b/server/ctdb_recoverd.c index 837c0b15..9059b1c6 100644 --- a/server/ctdb_recoverd.c +++ b/server/ctdb_recoverd.c @@ -3011,6 +3011,9 @@ int ctdb_start_recoverd(struct ctdb_context *ctdb) exit(1); } + /* we dont want any SIGCHLD */ + signal(SIGCHLD, SIG_IGN); + monitor_cluster(ctdb); DEBUG(DEBUG_ALERT,("ERROR: ctdb_recoverd finished!?\n")); -- 2.34.1