diff options
author | David O'Neill <dmo@samba.org> | 2001-01-25 16:36:42 +0000 |
---|---|---|
committer | David O'Neill <dmo@samba.org> | 2001-01-25 16:36:42 +0000 |
commit | fcfaebda7fb35989e62bc317287896c410c7833b (patch) | |
tree | d3c0d163236fa1946d7832664ee9dba0239e2b21 /source3/nmbd | |
parent | 4f7b2b7083e4b4e6541633a5e2ffddb7989229a0 (diff) | |
download | samba-fcfaebda7fb35989e62bc317287896c410c7833b.tar.gz samba-fcfaebda7fb35989e62bc317287896c410c7833b.tar.bz2 samba-fcfaebda7fb35989e62bc317287896c410c7833b.zip |
Changes from APPLIANCE_HEAD:
source/smbd/server.c
source/nmbd/nmbd.c
- Fixed a very subtle bug with signals. Seems that POSIX requires
that the signal mask be inhereted. So, if you happen to kick off
smbd/nmbd from code that has the mask set on SIGUSR1, you lose
messages.
(This used to be commit b4c98196fc65e8b3bce928296e854987622eae78)
Diffstat (limited to 'source3/nmbd')
-rw-r--r-- | source3/nmbd/nmbd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c index 5b9a00aad0..f772788341 100644 --- a/source3/nmbd/nmbd.c +++ b/source3/nmbd/nmbd.c @@ -686,6 +686,12 @@ static void usage(char *pname) fault_setup((void (*)(void *))fault_continue ); + /* POSIX demands that signals are inherited. If the invoking process has + * these signals masked, we will have problems, as we won't recieve them. */ + BlockSignals(False, SIGHUP); + BlockSignals(False, SIGUSR1); + BlockSignals(False, SIGTERM); + CatchSignal( SIGHUP, SIGNAL_CAST sig_hup ); CatchSignal( SIGTERM, SIGNAL_CAST sig_term ); |