Skip to content

Commit

Permalink
Relax promises about condition variable.
Browse files Browse the repository at this point in the history
This allows for futex or thread parking based implementations in the
future.
  • Loading branch information
m-ou-se committed Sep 19, 2020
1 parent b3aae05 commit 26d6081
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions library/std/src/sync/condvar.rs
Expand Up @@ -78,13 +78,9 @@ impl WaitTimeoutResult {
/// and a mutex. The predicate is always verified inside of the mutex before
/// determining that a thread must block.
///
/// Functions in this module will block the current **thread** of execution and
/// are bindings to system-provided condition variables where possible. Note
/// that this module places one additional restriction over the system condition
/// variables: each condvar can be used with precisely one mutex at runtime. Any
/// attempt to use multiple mutexes on the same condition variable will result
/// in a runtime panic. If this is not desired, then the unsafe primitives in
/// `sys` do not have this restriction but may result in undefined behavior.
/// Functions in this module will block the current **thread** of execution.
/// Note that any attempt to use multiple mutexes on the same condition
/// variable may result in a runtime panic.
///
/// # Examples
///
Expand Down Expand Up @@ -159,10 +155,8 @@ impl Condvar {
///
/// # Panics
///
/// This function will [`panic!`] if it is used with more than one mutex
/// over time. Each condition variable is dynamically bound to exactly one
/// mutex to ensure defined behavior across platforms. If this functionality
/// is not desired, then unsafe primitives in `sys` are provided.
/// This function may [`panic!`] if it is used with more than one mutex
/// over time.
///
/// [`notify_one`]: Self::notify_one
/// [`notify_all`]: Self::notify_all
Expand Down

0 comments on commit 26d6081

Please sign in to comment.