Macros

declare_id 🔒
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 the src/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.
A thread waiting on a conditional variable.
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 variables.

Traits