Quellcode durchsuchen

fix memory coherency of spin_unlock: else loads/stores to memory may be done after the release

Samuel Thibault vor 16 Jahren
Ursprung
Commit
7a566f4749
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      src/common/starpu-spinlock.c

+ 1 - 1
src/common/starpu-spinlock.c

@@ -66,7 +66,7 @@ int starpu_spin_unlock(starpu_spinlock_t *lock)
 #ifdef HAVE_PTHREAD_SPIN_LOCK
 	return pthread_spin_unlock(&lock->lock);
 #else
-	lock->taken = 0;
+	__sync_lock_release(&lock->taken);
 	return 0;
 #endif
 }