diff options
| author | Ben Blum <bblum@andrew.cmu.edu> | 2012-08-10 22:54:41 -0400 |
|---|---|---|
| committer | Ben Blum <bblum@andrew.cmu.edu> | 2012-08-13 17:18:23 -0400 |
| commit | 3dbce4ebea8b36c873b1b29e5a56d5a8b86feee6 (patch) | |
| tree | eeafc7015309147ad875469686dcd9deb3f2ad57 /src/libstd | |
| parent | 9470e5d7d56b4e697e6ba96e8f0cc10c64f0bdf0 (diff) | |
| download | rust-3dbce4ebea8b36c873b1b29e5a56d5a8b86feee6.tar.gz rust-3dbce4ebea8b36c873b1b29e5a56d5a8b86feee6.zip | |
minor fix to rwlock.read()
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/sync.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstd/sync.rs b/src/libstd/sync.rs index 575412825e1..3ca0d43d985 100644 --- a/src/libstd/sync.rs +++ b/src/libstd/sync.rs @@ -315,6 +315,7 @@ impl &rwlock { * tasks may run concurrently with this one. */ fn read<U>(blk: fn() -> U) -> U { + let mut release = none; unsafe { do task::unkillable { do (&self.order_lock).access { @@ -328,9 +329,9 @@ impl &rwlock { (&self.access_lock).acquire(); } } + release = some(rwlock_release_read(self)); } } - let _z = rwlock_release_read(self); blk() } |
