fixed callback_job cancellation for threads waiting in the bus

This commit is contained in:
Martin Willi
2007-11-19 12:32:28 +00:00
parent e533b928f0
commit 7b36b734a4
3 changed files with 50 additions and 10 deletions
+2 -1
View File
@@ -157,6 +157,7 @@ static void execute(private_callback_job_t *this)
continue;
case JOB_REQUEUE_FAIR:
{
this->thread = 0;
charon->processor->queue_job(charon->processor,
&this->public.job_interface);
break;
@@ -164,13 +165,13 @@ static void execute(private_callback_job_t *this)
case JOB_REQUEUE_NONE:
default:
{
this->thread = 0;
cleanup = TRUE;
break;
}
}
break;
}
this->thread = 0;
unregister(this);
pthread_cleanup_pop(cleanup);
}