|
@@ -89,9 +89,9 @@ static int push_task_eager_policy(struct starpu_task *task)
|
|
|
starpu_pthread_mutex_t *sched_mutex;
|
|
|
starpu_pthread_cond_t *sched_cond;
|
|
|
starpu_worker_get_sched_condition(worker, &sched_mutex, &sched_cond);
|
|
|
- STARPU_PTHREAD_MUTEX_LOCK(sched_mutex);
|
|
|
- STARPU_PTHREAD_COND_SIGNAL(sched_cond);
|
|
|
- STARPU_PTHREAD_MUTEX_UNLOCK(sched_mutex);
|
|
|
+
|
|
|
+ if (starpu_wakeup_worker(worker, sched_cond, sched_mutex))
|
|
|
+ break; // wake up a single worker
|
|
|
}
|
|
|
|
|
|
return ret_val;
|