Macros§
- We cannot use the
newtype_index!
macro because we have to use 0 as a sentinel value meaning that the identifier is not assigned. This is because the pthreads static initializers initialize memory with zeros (see thesrc/shims/sync.rs
file).
Structs§
- Condvar 🔒The conditional variable state.
- 0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
- Futex 🔒The futex state.
- A thread waiting on a futex.
- Mutex 🔒The mutex state.
- 0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
- RwLock 🔒The read-write lock state.
- 0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
- The state of all synchronization objects.
Constants§
- We designate an
init`` field in all primitives. If
init` is set to this, we consider the primitive initialized.