diff --git a/src/c/threads/semaphore.d b/src/c/threads/semaphore.d index 04078f61c..8811be3f0 100644 --- a/src/c/threads/semaphore.d +++ b/src/c/threads/semaphore.d @@ -79,7 +79,7 @@ mp_semaphore_wait_count(cl_object semaphore) } AO_fetch_and_add((AO_t*)&semaphore->semaphore.counter, n); if (semaphore->semaphore.queue_list != ECL_NIL) { - ecl_wakeup_waiters(env, semaphore, ECL_WAKEUP_ONE); + ecl_wakeup_waiters(env, semaphore, ECL_WAKEUP_ALL); } @(return); } @) diff --git a/src/tests/ecl-tests.lisp b/src/tests/ecl-tests.lisp index 97223ff82..a31c9eabd 100644 --- a/src/tests/ecl-tests.lisp +++ b/src/tests/ecl-tests.lisp @@ -26,7 +26,7 @@ (suite 'make-check '(executable ieee-fp eprocess package-ext hash-tables ansi+ mixed cmp emb - ffi mop run-program)) + ffi mop run-program mp ieee-fp)) (defmacro is-true (form)