Documentation

Miri.Interpreter.PollMachine

Canonical machine ownership/clock binding for poll and epoll. Other payload injection/downcast is explicit so an unavailable descriptor cannot masquerade as an epoll instance. The source Epoll does not contain ReadinessWatched.

Instances For
    Equations
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Instances For
          def Miri.Interpreter.PollMachine.insertEpoll {K U H D O : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : DescriptorHooks O) (watcher : Nat) :

          Owning transfer into the real descriptor table; no extra watcher retain.

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

            Call at actual Epoll watcher-field drop, after strong FD count reaches zero.

            Equations
            Instances For
              def Miri.Interpreter.PollMachine.bind {K U H D O Host System I : Type} (h : ReadinessMachine.Hooks K U H D O) (descriptor : DescriptorHooks O) (deadline : DeadlineMachine.Hooks K U Host System) (base : EpollShims.Hooks (MachineHooks.State K U) (Files.Ref (Files.Description H D O)) I) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Miri.Interpreter.PollMachine.bindEntryPoll {S F P H I : Type} (budget : Nat) (io : BlockingIo.Hooks S F P H) (base : PollDispatch.Hooks S F I) :

                Uses actual mio poll(0) and source Interrupted policy via BlockingIo.

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