Просмотр исходного кода

Protect the job structure while checking whether the task is ready or not.

Cédric Augonnet лет назад: 15
Родитель
Сommit
56f84ab2b2
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      src/core/jobs.c

+ 4 - 1
src/core/jobs.c

@@ -184,7 +184,8 @@ static unsigned _starpu_not_all_task_deps_are_fulfilled(starpu_job_t j)
 
 	struct starpu_cg_list_s *job_successors = &j->job_successors;
 
-#warning TODO use locks !
+	pthread_mutex_lock(&j->sync_mutex);	
+
 	if (!j->submitted || (job_successors->ndeps != job_successors->ndeps_completed))
 	{
 		ret = 1;
@@ -196,6 +197,8 @@ static unsigned _starpu_not_all_task_deps_are_fulfilled(starpu_job_t j)
 		ret = 0;
 	}
 
+	pthread_mutex_unlock(&j->sync_mutex);
+
 	return ret;
 }