1.0.26.4: less pessimal waitqueues
authorGabor Melis <mega@hotpop.com>
Mon, 16 Mar 2009 15:59:03 +0000 (15:59 +0000)
committerGabor Melis <mega@hotpop.com>
Mon, 16 Mar 2009 15:59:03 +0000 (15:59 +0000)
commit9373c1691aee82e4e21379b85400c3ea363adf47
tree1ba9473862e16ce3963d7e34cd55b949e8506767
parent7aa246fdcbb1da73dd1d5ae38d2d17cd04c5f9b7
1.0.26.4: less pessimal waitqueues

Readers calling CONDITION-WAIT don't interfere with each other.
CONDITION-WAIT used to set WAITQUEUE-DATA to *CURRENT-THREAD* causing
other readers entering FUTEX-WAIT to return with EWOULDBLOCK.

Set WAITQUEUE-DATA to NIL in readers, and to *CURRENT-THREAD* in
writers.

Also, fix a warning in :SEMAPHORE-MULTIPLE-WAITERS test.
src/code/target-thread.lisp
tests/threads.impure.lisp
tests/threads.pure.lisp
version.lisp-expr