mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
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 b4c98196fc
)
This commit is contained in:
parent
4f7b2b7083
commit
fcfaebda7f
@ -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 );
|
||||
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user