Tom Lane wrote: > I wrote: > >>Can anyone spot the problem? If not I fear we'll have to revert this. > > > After a bit of reading MIPS documentation, I found out that the proposed > patch is exactly backward: it returns 1 if it gets the lock and 0 if the > lock is already held :-( > > Because callers will loop on a nonzero return, the second iteration > falls through, which is why the thing isn't an infinite loop. Only > problem is when we hit the lock at an instant when somebody else > already has it. > > Given the short duration of our spinlock holds, it was probably quite > a coincidence that Stefan's machine got a failure almost immediately. > We might have had the problem lurking for awhile. > > I'll try to commit something that really works in a little bit.
well not sure if that counts as "really works" :-) http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=lionfish&dt=2005-08-27%2006:33:05 Stefan ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster