Compiler- and execution-state construction for the Unix descriptor/poll family. Descriptor and readiness registries are projections of the actual EvalWorld; target policy and the poll ABI come from rustc metadata. Only the last-drop resource actions and the already-source-built physical epoll/poll operations remain inputs.
Equations
- Miri.Input.EvalUnixFdConstruction.Other Raw Listener TcpStream Error = Miri.Input.EvalSocketStorage.Other Raw Listener TcpStream Error
Instances For
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
Equations
Instances For
- target : CompilerExternStatic.TargetFacts
Demand-time query results: missing libc names or named ABI rows leave only poll unsupported while ordinary FD and filesystem shims remain usable.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The canonical descriptor table and Rc registry already contain the three source stdio descriptors from InitialMachine/HostRuntime construction. This builder only supplies their state projections and destructor effects; it never reinitializes or duplicates the table.
Equations
- Miri.Input.EvalUnixFdConstruction.files hostUsizeBits referenceBudget onLastDrop = Miri.Input.EvalSocketStorage.files hostUsizeBits referenceBudget onLastDrop
Instances For
Readiness shares the same descriptor ownership registry. Its last-drop callback performs watched-metadata cleanup and then the true resource drop.
Equations
- Miri.Input.EvalUnixFdConstruction.readiness fileHooks watcherReferenceBudget onLastDrop = Miri.Input.EvalSocketStorage.readiness fileHooks watcherReferenceBudget onLastDrop
Instances For
Install the real registry/weak-liveness semantics underneath a physical readiness dictionary. The physical access and wake operations remain the existing canonical source leaves.
Equations
- Miri.Input.EvalUnixFdConstruction.bindReadiness registry physical = Miri.Interpreter.ReadinessMachine.bind registry physical
Instances For
Bind FD operations to the actual descriptor and ownership arena, including the source ReadinessWatched creation/drop hooks. The supplied UnixFd methods are the physical/source operation leaves; their table and Rc behavior cannot be substituted by caller-owned state.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct the real poll foreign-item hooks around the existing source
poll/epoll implementation. Compiler ABI, C ABI compatibility, symbol-clash
checks, and operand transmutation are rebound here; a missing exact poll
query remains an Unsupported result at the source poll call.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- iterator : Interpreter.ArrayProjection.Iterator
- next : Nat
Instances For
The only readiness leaves that need to cross the startup constructor boundary: typed callback/runtime routing and the source wake operation. Descriptor policy and current readiness are taken from Files descriptions.
- debugAssertions : Bool
- unblock : Concurrency.ThreadId → Concurrency.BlockReason → EStateM Interpreter.StepError S Unit
Instances For
Construct the physical readiness view from the actual source File hooks. The registry binder below replaces every ownership/state operation; this view provides only source description classification, callback routing and wakeup.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build all PollShims operations from exact libc/compiler queries and
canonical physical place/memory operations. physicalReadiness supplies only
thread/callback waking; the readiness registry, descriptor lookups, watcher
creation, layout projections, memory reads/writes, and compiler constants are
installed here. The deferred hook is only a construction intermediate:
EvalOwnedIoMachine.prepare replaces it with its typed completion route.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compatibility wrapper retaining the full deadline interface for existing
source constructors. Poll itself only needs monotonic deadline creation, so
new call sites can use pollWithDeadlineMillis with the actual narrow action
and avoid constructing scheduler callback capabilities prematurely.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build the Linux/Android epoll hook set from the canonical poll hooks,
compiler event layout/constants, actual guest memory, and the same descriptor
registry. EvalOwnedIoMachine.prepare replaces the legacy construction marker
with its source typed deferred completion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Assemble the final Unix poll/epoll foreign dispatcher rather than asking an outer constructor to hand in a completed PollDispatch dictionary. The sole physical scheduling leaf is the real zero-timeout mio poll operation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Complete source constructor for Unix poll and Linux/Android epoll. It connects compiler queries, guest memory, descriptor/watcher ownership, callback routing, deadlines and the real blocking scheduler into one PollDispatch value, with no caller-selected poll/epoll implementation.
Equations
- One or more equations did not get rendered due to their size.