From a038d272b0b01d74b54c419f28d29d3ee7cee647 Mon Sep 17 00:00:00 2001 From: Ben Blum Date: Tue, 24 Jul 2012 20:28:30 -0400 Subject: [PATCH] rust_cond_lock acquire/release should be inside the atomically { .. } --- src/libcore/sys.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libcore/sys.rs b/src/libcore/sys.rs index 6515babcf6b7..76c0e9f0753e 100644 --- a/src/libcore/sys.rs +++ b/src/libcore/sys.rs @@ -105,17 +105,17 @@ class unlock { impl methods for lock_and_signal { unsafe fn lock(f: fn() -> T) -> T { - rustrt::rust_lock_cond_lock(self.lock); - let _r = unlock(self.lock); do atomically { + rustrt::rust_lock_cond_lock(self.lock); + let _r = unlock(self.lock); f() } } unsafe fn lock_cond(f: fn(condition) -> T) -> T { - rustrt::rust_lock_cond_lock(self.lock); - let _r = unlock(self.lock); do atomically { + rustrt::rust_lock_cond_lock(self.lock); + let _r = unlock(self.lock); f(condition_(self.lock)) } }