s3: Attempt to fix bug 7518
authorVolker Lendecke <vl@samba.org>
Tue, 28 Sep 2010 16:40:49 +0000 (18:40 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 28 Sep 2010 17:22:50 +0000 (19:22 +0200)
commita3e211ca3f6bc0335170546648ebcc54a1db1ef4
tree76657a76e3aac2bf05d1d10dcd668e59c93c9832
parent51bc104c5c2e8f23fab1c599a7ec3e4291165244
s3: Attempt to fix bug 7518

If select returns -1, we can't rely on the fd sets. The current code might loop
endlessly because when putting an invalid fd (the closed socket?) on the read
set, a select implementation might choose not to touch it but directly return
with EINVAL. Thus run_events will see the socket readable, which leads to a
"return true", and thus a NT_STATUS_RETRY -> same game again.

We should never get into this situation, but to me the logfiles given in bug
7518 do not reveal enough information to understand how this can happen.
source3/smbd/process.c