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)) } }