diff --git a/src/backend/threads.c b/src/backend/threads.c index 3a20901d8..7b03f57fe 100644 --- a/src/backend/threads.c +++ b/src/backend/threads.c @@ -74,11 +74,9 @@ LumieraThread lumiera_thread_run (enum lumiera_thread_class kind, void (*function)(void *), void * arg, - LumieraReccondition finished, const char* purpose, struct nobug_flag* flag) { - (void)finished; (void)function; (void)arg; // ask the threadpool for a thread (it might create a new one) @@ -101,7 +99,6 @@ lumiera_thread_run (enum lumiera_thread_class kind, */ LumieraThread lumiera_thread_new (enum lumiera_thread_class kind, - LumieraReccondition finished, const char* purpose, struct nobug_flag* flag, pthread_attr_t* attrs) @@ -112,12 +109,9 @@ lumiera_thread_new (enum lumiera_thread_class kind, REQUIRE (kind < LUMIERA_THREADCLASS_COUNT, "invalid thread kind specified: %d", kind); REQUIRE (attrs, "invalid pthread attributes structure passed"); - //REQUIRE (finished, "invalid finished flag passed"); - - LumieraThread self = lumiera_malloc (sizeof (*self)); llist_init (&self->node); - self->finished = finished; + lumiera_reccondition_init (&self->finished, "thread-control-condition", flag); self->kind = kind; self->state = LUMIERA_THREADSTATE_IDLE; @@ -140,7 +134,6 @@ lumiera_thread_destroy (LumieraThread self) // TODO: stop the pthread llist_unlink (&self->node); - //finished = NULL; // or free(finished)? lumiera_reccondition_destroy (self->finished, &NOBUG_FLAG (threads)); //kind = 0; //state = 0; diff --git a/src/backend/threads.h b/src/backend/threads.h index 303b9acf2..d91ae7bee 100644 --- a/src/backend/threads.h +++ b/src/backend/threads.h @@ -137,7 +137,6 @@ struct lumiera_thread_struct */ LumieraThread lumiera_thread_new (enum lumiera_thread_class kind, - LumieraReccondition finished, const char* purpose, struct nobug_flag* flag, pthread_attr_t* attrs); @@ -169,8 +168,6 @@ lumiera_thread_delete (LumieraThread self); * @param kind class of the thread to start * @param function pointer to a function to execute in a thread (returning void, not void* as in pthreads) * @param arg generic pointer passed to the thread - * @param finished a condition variable to be broadcasted, if not NULL. - * The associated mutex should be locked at thread_run time already, else the signal can get lost. * @param purpose descriptive name of this thread, used by NoBug * @param flag NoBug flag used for logging the thread startup and return */ @@ -178,7 +175,6 @@ LumieraThread lumiera_thread_run (enum lumiera_thread_class kind, void (*function)(void *), void * arg, - LumieraReccondition finished, const char* purpose, struct nobug_flag* flag);