Rein Tollevik wrote:Howard Chu skrev:Howard Chu wrote:Hm. I just saw test050 lock up on me, a repeat of the discussion in ITS#5454. Seems like we need to go back to a trylock here.There's not much difference between HEAD and RE24 really. And I've seen test050 fail on both, at random times. Still haven't tracked it down.
This reopens the race condition window that ITS closed. If a trylock is required then we must find some other way of asserting that the socket is either not enabled while the lock is held, or that any messages received while it is locked is acted upon.
I have run test050 with this patch, and see the same failures as in http://www.openldap.org/lists/openldap-devel/200809/msg00051.html
I thought the errors was due to some recent changes in the code, but it appears to be the populating of consumer2 added in revision 1.11 of test050 itself that triggers it. I.e, the actual bug can have been there for some time :-(
AFAIR, writing to consumer2 was exactly added to trigger an issue that test050 was hiding in its initial form.