Add working implementation for condition-variable-wait on ECL
commitcbb1b6217e20a9b6376fdda91777dc6d55ec83d5
authorDaniel Kochmanski <daniel@turtleware.eu>
Mon, 18 Dec 2017 21:42:45 +0000 (18 22:42 +0100)
committerStelian Ionescu <sionescu@cddr.org>
Tue, 8 May 2018 20:12:44 +0000 (8 22:12 +0200)
tree87f9a534622f56896da2bf8a76ac267e7654008f
parent466284f3ab2b3a76141e83641df9487843b04d9e
Add working implementation for condition-variable-wait on ECL

Until now if timeout argument was provided ECL signalled a simple-error that
timedwait is not supported for CV. We wrap ordinary mp:condition-variable-wait
in with-timeout to make it work.

This fix is required to make generic implementation semaphores work on ECL prior
to 16.2.0. Thanks to that all tests pass (while previously tests involving timed
wait on CV failed).

We make default with-timeout implementation available for
implementation-specific code to use.
src/bordeaux-threads.lisp
src/default-implementations.lisp
src/impl-ecl.lisp