瀏覽代碼

adding WAKING UP STATE

Pierre-André Wacrenier 11 年之前
父節點
當前提交
0c355a5e0b
共有 1 個文件被更改,包括 4 次插入4 次删除
  1. 4 4
      src/drivers/driver_common/driver_common.c

+ 4 - 4
src/drivers/driver_common/driver_common.c

@@ -150,11 +150,11 @@ void _starpu_driver_update_job_feedback(struct _starpu_job *j, struct _starpu_wo
 	}
 }
 
-
-
 static void _starpu_worker_set_status_sleeping(int workerid)
 {
-	if (_starpu_worker_get_status(workerid) != STATUS_SLEEPING)
+	if ( _starpu_worker_get_status(workerid) == STATUS_WAKING_UP)
+		_starpu_worker_set_status(workerid, STATUS_SLEEPING);
+	else if (_starpu_worker_get_status(workerid) != STATUS_SLEEPING)
 	{
 		_STARPU_TRACE_WORKER_SLEEP_START;
 		_starpu_worker_restart_sleeping(workerid);
@@ -165,7 +165,7 @@ static void _starpu_worker_set_status_sleeping(int workerid)
 
 static void _starpu_worker_set_status_wakeup(int workerid)
 {
-	if (_starpu_worker_get_status(workerid) == STATUS_SLEEPING)
+	if (_starpu_worker_get_status(workerid) == STATUS_SLEEPING || _starpu_worker_get_status(workerid) == STATUS_WAKING_UP)
 	{
 		_STARPU_TRACE_WORKER_SLEEP_END;
 		_starpu_worker_stop_sleeping(workerid);