Documentation

Miri.Concurrency.SyncRuntime

Executable callback binding for pinned concurrency/sync.rs. Canonical Sync transitions own lock/clock/queue rules; this layer runs real typed closures, scalar stores and ThreadManager callbacks rather than accepting token completion.

  • next : Nat
  • entries : Array (Nat × Callback S)
  • disposers : Array (Nat × M S Unit)

    Explicit semantic Drop actions for owned captures. Plain callbacks use lexical cleanup (for example Files.withDrop) or contain non-owning IDs.

Instances For
    Equations
    Instances For
      def Miri.Concurrency.SyncRuntime.Registry.registerOwned {S : Type} (registry : Registry S) (callback : Callback S) (dropCaptures : M S Unit) :

      Owned captures require an actual stateful drop, never a GC-root promise.

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

          Source MachineCallback.call consumes Box<Self> before running its body. Duplicate tokens are representation failures, never an arbitrary first match.

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

            Data-only captures of source OS callbacks.

            Instances For
              Instances For

                Production stores typed captures. Only the explicit fixture branch carries an arbitrary function registry; a production constructor never supplies one.

                Instances For
                  Instances For

                    Legacy-only compatibility accessors. Production typed backends expose no function registry; an unported caller remains an explicit callback obligation.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Miri.Concurrency.SyncRuntime.Hooks.putCallbacks {S R V D : Type} (h : Hooks S R V D) (registry : Registry S) :
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Miri.Concurrency.SyncRuntime.register {S R V D : Type} (h : Hooks S R V D) (capture : Option (Capture R V D)) (callback : Callback S) :
                        M S Nat
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Miri.Concurrency.SyncRuntime.ownsCallback {S R V D : Type} (h : Hooks S R V D) (token : Nat) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Miri.Concurrency.SyncRuntime.takeCallback {S R V D : Type} (h : Hooks S R V D) (token : Nat) :

                            This operation is only available on the explicit legacy fixture backend.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              def Miri.Concurrency.SyncRuntime.runCallback {S R V D : Type} (h : Hooks S R V D) (token : Nat) (kind : UnblockKind) :

                              No thread switch/restore: deadline and readiness wrappers already own it.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                def Miri.Concurrency.SyncRuntime.cancelCallback {S R V D : Type} (h : Hooks S R V D) (token : Nat) :

                                Cancel an unowned registration, consuming source FnOnce captures once.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Miri.Concurrency.SyncRuntime.discardIfUnowned {S R V D : Type} (h : Hooks S R V D) (token : Nat) :

                                  Source drops a newly built callback when blocking fails before ownership moves into ThreadState::Blocked. Keep entries already owned by any thread.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For
                                      def Miri.Concurrency.SyncRuntime.mutexLock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        def Miri.Concurrency.SyncRuntime.mutexUnlock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For
                                          def Miri.Concurrency.SyncRuntime.mutexEnqueue {S R V D : Type} (h : Hooks S R V D) (ref : R) (retval : Option (V × D)) :
                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For
                                            def Miri.Concurrency.SyncRuntime.readerLock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              def Miri.Concurrency.SyncRuntime.writerLock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                def Miri.Concurrency.SyncRuntime.readerUnlock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  def Miri.Concurrency.SyncRuntime.writerUnlock {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                                  Equations
                                                  • One or more equations did not get rendered due to their size.
                                                  Instances For
                                                    def Miri.Concurrency.SyncRuntime.enqueueReader {S R V D : Type} (h : Hooks S R V D) (ref : R) (value : V) (dest : D) :
                                                    Equations
                                                    • One or more equations did not get rendered due to their size.
                                                    Instances For
                                                      def Miri.Concurrency.SyncRuntime.enqueueWriter {S R V D : Type} (h : Hooks S R V D) (ref : R) (value : V) (dest : D) :
                                                      Equations
                                                      • One or more equations did not get rendered due to their size.
                                                      Instances For
                                                        def Miri.Concurrency.SyncRuntime.reacquireMutex {S R V D : Type} (h : Hooks S R V D) (ref : R) (value : V) (dest : D) :
                                                        Equations
                                                        • One or more equations did not get rendered due to their size.
                                                        Instances For
                                                          def Miri.Concurrency.SyncRuntime.condvarWait {S R V D : Type} (h : Hooks S R V D) (ref mutex : R) (deadline : Option ThreadDeadline) (success timeout : V) (dest : D) :
                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            def Miri.Concurrency.SyncRuntime.condvarSignal {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For
                                                              def Miri.Concurrency.SyncRuntime.futexWait {S R V D : Type} (h : Hooks S R V D) (ref : R) (bitset : UInt32) (deadline : Option ThreadDeadline) (callback : Callback S) (capture : Option (UserCapture R D) := none) :
                                                              Equations
                                                              • One or more equations did not get rendered due to their size.
                                                              Instances For
                                                                def Miri.Concurrency.SyncRuntime.futexWake {S R V D : Type} (h : Hooks S R V D) (ref : R) (bitset : UInt32) (count : Nat) :
                                                                M S Nat
                                                                Equations
                                                                • One or more equations did not get rendered due to their size.
                                                                Instances For
                                                                  def Miri.Concurrency.SyncRuntime.semaphoreDecrement {S R V D : Type} (budget : Nat) (h : Hooks S R V D) (ref : R) (deadline : Option ThreadDeadline) (callback : Callback S) (capture : Option (UserCapture R D) := none) :

                                                                  Production retries are interpreted from data and need no recursive runner budget. The legacy fixture path retains its explicit resource bound.

                                                                  Equations
                                                                  • One or more equations did not get rendered due to their size.
                                                                  Instances For
                                                                    def Miri.Concurrency.SyncRuntime.semaphoreIncrement {S R V D : Type} (h : Hooks S R V D) (ref : R) :
                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For