From fcfaebda7fb35989e62bc317287896c410c7833b Mon Sep 17 00:00:00 2001 From: David O'Neill Date: Thu, 25 Jan 2001 16:36:42 +0000 Subject: 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) --- source3/smbd/server.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source3/smbd/server.c') diff --git a/source3/smbd/server.c b/source3/smbd/server.c index c895972b0e..a13f34d506 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -651,6 +651,11 @@ static void usage(char *pname) BlockSignals(True,SIGUSR2); #endif + /* 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); + /* we want total control over the permissions on created files, so set our umask to 0 */ umask(0); -- cgit