瀏覽代碼

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

Samuel Thibault 16 年之前
父節點
當前提交
7a566f4749
共有 1 個文件被更改,包括 1 次插入1 次删除
  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
 }