miri::concurrency

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.
  • 0 is used to indicate that the id was not yet assigned and, therefore, is not a valid identifier.
  • Futex ๐Ÿ”’
    The futex state.
  • FutexWaiter ๐Ÿ”’
    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.

Traitsยง