Relax promises about condition variable.
This allows for futex or thread parking based implementations in the future.
This commit is contained in:
parent
b3aae050cd
commit
26d6081f1d
@ -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
|
||||
///
|
||||
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user