fixed daemon kill before threads are spawned

This commit is contained in:
Martin Willi
2007-11-14 10:12:34 +00:00
parent 91b16af0fa
commit 93fc29c6cf
+3 -5
View File
@@ -121,12 +121,7 @@ static void cancel(private_callback_job_t *this)
{ {
pthread_t thread; pthread_t thread;
/* wait until thread has started */
pthread_mutex_lock(&this->mutex); pthread_mutex_lock(&this->mutex);
while (this->thread == 0)
{
pthread_cond_wait(&this->condvar, &this->mutex);
}
thread = this->thread; thread = this->thread;
/* terminate its children */ /* terminate its children */
@@ -134,9 +129,12 @@ static void cancel(private_callback_job_t *this)
pthread_mutex_unlock(&this->mutex); pthread_mutex_unlock(&this->mutex);
/* terminate thread */ /* terminate thread */
if (thread)
{
pthread_cancel(thread); pthread_cancel(thread);
pthread_join(thread, NULL); pthread_join(thread, NULL);
} }
}
/** /**
* Implementation of job_t.execute. * Implementation of job_t.execute.