Documentation

Miri.Concurrency.FutexRuntime

Source concurrency/sync.rs futex wait/wake with an actual optional clock handler and typed FnOnce captures. None never reads or manufactures a global clock. Callback tokens use the owner's shared thread callback identity supply.

Instances For
    Equations
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        • futex : Ref
        • destination : D
        Instances For
          Instances For
            Instances For
              def Miri.Concurrency.FutexRuntime.invoke {S D : Type} (h : Hooks S D) (token : Nat) (kind : UnblockKind) :

              Box<Self> is consumed before the first callback effect. Ready acquires; timeout removes the active waiter; only then does the syscall result write.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Concurrency.FutexRuntime.wait {S D : Type} (h : Hooks S D) (ref : Ref) (bitset : UInt32) (deadline : Option ThreadDeadline) (destination : D) :

                Enqueue precedes callback creation and source block-thread constraints. A failed block drops the callback but retains the already appended waiter.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Miri.Concurrency.FutexRuntime.wake {S D : Type} (h : Hooks S D) (ref : Ref) (bitset : UInt32) (count : Nat) :
                  M S Nat

                  Release precedes extraction, including count=0. All matching removals precede any callback; unblocks execute FIFO with actual stack switching.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For