Explorar el Código

mpi/src/starpu_mpi_cache.c: avoid thread deadlock

Nathalie Furmento hace 8 años
padre
commit
90b13d61d1
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  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);
 	}