1.0.26.5: improve CONDITION-WAIT, RELEASE-MUTEX
authorGabor Melis <mega@hotpop.com>
Mon, 16 Mar 2009 16:00:07 +0000 (16:00 +0000)
committerGabor Melis <mega@hotpop.com>
Mon, 16 Mar 2009 16:00:07 +0000 (16:00 +0000)
commit4b13aa3a7f0f4c6249e2787f4171e3c362d634c1
treeac67aef7b1a27bd7d548c152a39351f475856447
parent9373c1691aee82e4e21379b85400c3ea363adf47
1.0.26.5: improve CONDITION-WAIT, RELEASE-MUTEX

- minimize the window where a CONDITION-WAIT and a CONDITION-NOTIFY
  race to FUTEX-WAIT and FUTEX-WAKE respectively

- make reacquiration of the mutex in CONDITION-WAIT interruptible

- make RELEASE-MUTEX return silently without doing anything if the
  owner is not the current thread. This eliminates spurious warnings
  upon async unwinding from the mutex reacquiration path of
  CONDITION-WAIT.

- add IF-NOT-OWNER parameter to RELEASE-MUTEX with three possible
  values: :PUNT, :WARN, :FORCE (see docstring).
src/code/target-thread.lisp
version.lisp-expr