diff --git a/src/system/kernel/signal.cpp b/src/system/kernel/signal.cpp index 2fd2eeaa9c..4f779f04b0 100644 --- a/src/system/kernel/signal.cpp +++ b/src/system/kernel/signal.cpp @@ -796,6 +796,8 @@ sigsuspend(const sigset_t *mask) break; } + conditionVar.Unpublish(); + // restore the original block mask atomic_set(&thread->sig_block_mask, oldMask);