pub(super) trait EvalContextExtPriv<'mir, 'tcx: 'mir>: MiriInterpCxExt<'mir, 'tcx> {
    fn get_or_create_id<Id: SyncId>(
        &mut self,
        next_id: Id,
        lock_op: &OpTy<'tcx, Provenance>,
        offset: u64
    ) -> InterpResult<'tcx, Option<Id>> { ... } fn rwlock_dequeue_and_lock_reader(&mut self, id: RwLockId) -> bool { ... } fn rwlock_dequeue_and_lock_writer(&mut self, id: RwLockId) -> bool { ... } fn mutex_dequeue_and_lock(&mut self, id: MutexId) -> bool { ... } }

Provided Methods§

Lazily initialize the ID of this Miri sync structure. (‘0’ indicates uninit.)

Take a reader out of the queue waiting for the lock. Returns true if some thread got the rwlock.

Take the writer out of the queue waiting for the lock. Returns true if some thread got the rwlock.

Take a thread out of the queue waiting for the mutex, and lock the mutex for it. Returns true if some thread has the mutex now.

Implementors§