소스 검색

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
 }