소스 검색

mpi/src/starpu_mpi_cache.c: avoid thread deadlock

Nathalie Furmento 8 년 전
부모
커밋
90b13d61d1
1개의 변경된 파일2개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      mpi/src/starpu_mpi_cache.c

+ 2 - 0
mpi/src/starpu_mpi_cache.c

@@ -369,7 +369,9 @@ void starpu_mpi_cache_flush_all_data(MPI_Comm comm)
 	STARPU_PTHREAD_MUTEX_LOCK(&_cache_mutex);
 	HASH_ITER(hh, _cache_data, entry, tmp)
 	{
+		STARPU_PTHREAD_MUTEX_UNLOCK(&_cache_mutex);
 		_starpu_mpi_cache_flush_and_invalidate(comm, entry->data_handle);
+		STARPU_PTHREAD_MUTEX_LOCK(&_cache_mutex);
 		HASH_DEL(_cache_data, entry);
 		free(entry);
 	}