Explorar o código

protected flag clear as well

Olivier Aumage %!s(int64=8) %!d(string=hai) anos
pai
achega
f5ed375cf2
Modificáronse 2 ficheiros con 4 adicións e 0 borrados
  1. 2 0
      src/core/workers.c
  2. 2 0
      src/core/workers.h

+ 2 - 0
src/core/workers.c

@@ -1746,7 +1746,9 @@ unsigned starpu_worker_is_blocked_in_parallel(int workerid)
 		}
 		if (relax_own_observation_state)
 		{
+			STARPU_PTHREAD_MUTEX_LOCK_SCHED(&cur_worker->sched_mutex);
 			cur_worker->state_safe_for_observation = 0;
+			STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&cur_worker->sched_mutex);
 		}
 	}
 	unsigned ret = _starpu_config.workers[workerid].state_blocked_in_parallel;

+ 2 - 0
src/core/workers.h

@@ -927,7 +927,9 @@ static inline void _starpu_worker_lock(int workerid)
 		}
 		if (relax_own_observation_state)
 		{
+			STARPU_PTHREAD_MUTEX_LOCK_SCHED(&cur_worker->sched_mutex);
 			cur_worker->state_safe_for_observation = 0;
+			STARPU_PTHREAD_MUTEX_UNLOCK_SCHED(&cur_worker->sched_mutex);
 		}
 	}
 }