Module sync

Source

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.
CondvarId
0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
Futex ๐Ÿ”’
The futex state.
FutexRef
FutexWaiter ๐Ÿ”’
A thread waiting on a futex.
Mutex ๐Ÿ”’
The mutex state.
MutexRef
RwLock ๐Ÿ”’
The read-write lock state.
RwLockId
0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
SynchronizationObjects
The state of all synchronization objects.

Constantsยง

LAZY_INIT_COOKIE
We designate an init`` field in all primitives. If init` is set to this, we consider the primitive initialized.

Traitsยง

EvalContextExt
EvalContextExtPriv ๐Ÿ”’