From b6d22bb2e08258826d1525d87ebdced8f0ff9f73 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 5 Jun 2009 05:04:45 +0200 Subject: [PATCH] fix: condition for signalling thread termination is optional --- src/backend/threads.c | 3 +++ src/lib/reccondition.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/threads.c b/src/backend/threads.c index 1ff7184f9..46449156b 100644 --- a/src/backend/threads.c +++ b/src/backend/threads.c @@ -59,6 +59,9 @@ static void* pthread_runner (void* thread) starter->fn (starter->arg); + if (!starter->finished) + return NULL; // no condition var provided for signalling thread termination + LUMIERA_RECCONDITION_SECTION(cond_sync, starter->finished) LUMIERA_RECCONDITION_BROADCAST; diff --git a/src/lib/reccondition.h b/src/lib/reccondition.h index a2dd54f58..dcf4e33a4 100644 --- a/src/lib/reccondition.h +++ b/src/lib/reccondition.h @@ -93,7 +93,7 @@ /** * Wait for a condition. * Must be used inside a RECCONDITION_SECTION. - * @param expr Conditon which must become true, else the condition variable goes back into sleep + * @param expr Condition which must become true, else the condition variable goes back into sleep */ #define LUMIERA_RECCONDITION_WAIT(expr) \ do { \