diff options
author | Jeremy Allison <jra@samba.org> | 2014-09-23 14:48:35 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-09-30 20:40:16 +0200 |
commit | fc8e1056fee9779a8bc40e7398b49bfbaa94ccd7 (patch) | |
tree | 15d6291d80ad944dcf1936a27d2cfe96a600ead0 /lib/util/signal.c | |
parent | 16e460e180cf8d6708b27137742fbce80e29b823 (diff) | |
download | samba-fc8e1056fee9779a8bc40e7398b49bfbaa94ccd7.tar.gz samba-fc8e1056fee9779a8bc40e7398b49bfbaa94ccd7.tar.xz samba-fc8e1056fee9779a8bc40e7398b49bfbaa94ccd7.zip |
lib: util [ctdb]: Signal handling - change CatchChild() and CatchChildLeaveStatus() to return the previous handler.
Bug #10831 - SIGCLD Signal handler not correctly reinstalled on old library code use - smbrun etc.
https://bugzilla.samba.org/show_bug.cgi?id=10831
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'lib/util/signal.c')
-rw-r--r-- | lib/util/signal.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/util/signal.c b/lib/util/signal.c index ead947eb5e..33a9900fb4 100644 --- a/lib/util/signal.c +++ b/lib/util/signal.c @@ -129,16 +129,16 @@ void (*CatchSignal(int signum,void (*handler)(int )))(int) Ignore SIGCLD via whatever means is necessary for this OS. **/ -void CatchChild(void) +void (*CatchChild(void))(int) { - CatchSignal(SIGCLD, sig_cld); + return CatchSignal(SIGCLD, sig_cld); } /** Catch SIGCLD but leave the child around so it's status can be reaped. **/ -void CatchChildLeaveStatus(void) +void (*CatchChildLeaveStatus(void))(int) { - CatchSignal(SIGCLD, sig_cld_leave_status); + return CatchSignal(SIGCLD, sig_cld_leave_status); } |