diff options
author | Stefan Metzmacher <metze@samba.org> | 2010-04-01 16:23:06 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2010-04-01 17:25:11 +0200 |
commit | 73577205cf81644e7fe853eaf3e6459f7f443096 (patch) | |
tree | 94f71502024f44977177f7b83cb192f2bbe2de11 /source3/winbindd/winbindd_ccache_access.c | |
parent | 3475c61179b87fa5c48ffe24c2793137ad04c318 (diff) | |
download | samba-73577205cf81644e7fe853eaf3e6459f7f443096.tar.gz samba-73577205cf81644e7fe853eaf3e6459f7f443096.tar.bz2 samba-73577205cf81644e7fe853eaf3e6459f7f443096.zip |
s3:winbindd: fix problems with SIGCHLD handling (bug #7317)
The main problem is that we call CatchChild() within the
parent winbindd, which overwrites the signal handler
that was registered by winbindd_setup_sig_chld_handler().
That means winbindd_sig_chld_handler() and winbind_child_died()
are never triggered when a winbindd domain child dies.
As a result will get "broken pipe" for all requests to that domain.
To reduce the risk of similar bugs in future we call
CatchChild() in winbindd_reinit_after_fork() now.
We also use a full winbindd_reinit_after_fork() in the
cache validation child now instead instead of just resetting
the SIGCHLD handler by hand. This will also fix possible
tdb problems on systems without pread/pwrite and disabled mmap
as we now correctly reopen the tdb handle for the child.
metze
Diffstat (limited to 'source3/winbindd/winbindd_ccache_access.c')
0 files changed, 0 insertions, 0 deletions