From 306fe5324845c15c54684bb49d0f6acc80b2da46 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 18 Feb 2008 21:51:34 +0000 Subject: [PATCH] We forgot to unpublish our temporary condition variable. Since it was allocated on the stack, condition variable related structures would be trashed, causing all kinds of problems. Fixes #1811 and #1812. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24009 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/signal.cpp | 2 ++ 1 file changed, 2 insertions(+) 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);