Skip to content

Commit 962a53d

Browse files
committed
Add try_write to RwLock
1 parent c979189 commit 962a53d

File tree

1 file changed

+12
-0
lines changed
  • src/librustc_data_structures

1 file changed

+12
-0
lines changed

src/librustc_data_structures/sync.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,18 @@ impl<T> RwLock<T> {
388388
f(&*self.read())
389389
}
390390

391+
#[cfg(not(parallel_queries))]
392+
#[inline(always)]
393+
pub fn try_write(&self) -> Result<WriteGuard<T>, ()> {
394+
self.0.try_borrow_mut().map_err(|_| ())
395+
}
396+
397+
#[cfg(parallel_queries)]
398+
#[inline(always)]
399+
pub fn try_write(&self) -> Result<WriteGuard<T>, ()> {
400+
self.0.try_write().ok_or(())
401+
}
402+
391403
#[cfg(not(parallel_queries))]
392404
#[inline(always)]
393405
pub fn write(&self) -> WriteGuard<T> {

0 commit comments

Comments
 (0)