summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_ccache_access.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2010-12-06 12:45:21 -0800
committerJeremy Allison <jra@samba.org>2010-12-06 23:21:02 +0100
commitf7d97868e4a5fe2c5f5a273311012022d45011bb (patch)
tree261f3c5454555a429e7d55d2036c9fae445430ef /source3/winbindd/winbindd_ccache_access.c
parentab1b857f58f58dbc871fc444aa1dfefe4a3bfaeb (diff)
downloadsamba-f7d97868e4a5fe2c5f5a273311012022d45011bb.tar.gz
samba-f7d97868e4a5fe2c5f5a273311012022d45011bb.tar.bz2
samba-f7d97868e4a5fe2c5f5a273311012022d45011bb.zip
s3: Fix bug 7844: Race in winbind
If a child dies, the parent process right away closes the socket. This is wrong, with tevent we still have events pending. This works fine for epoll but does not for at least the FreeBSD select variant. Tevent sticks a closed socket into the select masks. This then returns an error EBADF. When this happens, the parent winbind dies instead of forking a new child. This moves the socket close from the SIGCHLD cleanup function to the socket receiver. I could not reproduce the parent death anymore and it did not create an obvious fd leak. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Mon Dec 6 23:21:02 CET 2010 on sn-devel-104
Diffstat (limited to 'source3/winbindd/winbindd_ccache_access.c')
0 files changed, 0 insertions, 0 deletions