Pinned unix/linux_like/eventfd.rs. The source read/write retry callback re-reads the user buffer on every write retry, even though num is captured. Concrete retry-budget exhaustion is an unresolved execution resource outcome.
@[reducible, inline]
Instances For
@[reducible, inline]
Equations
Instances For
- counter : UInt64
- nonblock : Bool
- clock : Concurrency.VClock
- blockedReads : Array Concurrency.ThreadId
- blockedWrites : Array Concurrency.ThreadId
Instances For
Equations
Instances For
Equations
- Miri.Interpreter.EventFd.readiness event = { readable := event.counter != 0, writable := event.counter.toNat != Miri.Interpreter.EventFd.maximumCounter }
Instances For
- legacy {S F : Type} : DeferredBackend S F
- typed {S F : Type} (read write : F → MPlaceTy Memory.Provenance → IoCompletionData.Capture → M S Unit) : DeferredBackend S F
Instances For
- runtime : Concurrency.SyncRuntime.Hooks S Nat Int32 (MPlaceTy Memory.Provenance)
- cloneFd : F → M S F
- readU32 : OpTy Memory.Provenance → M S UInt32
- readI32 : OpTy Memory.Provenance → M S Int32
- u64Layout : M S LocalLayout
- unaligned : Memory.Pointer (Option Memory.Provenance) → LocalLayout → M S (MPlaceTy Memory.Provenance)
Source ptr_to_mplace_unaligned: formation alone performs no memory access.
- readU64 : MPlaceTy Memory.Provenance → M S UInt64
- writeU64 : UInt64 → MPlaceTy Memory.Provenance → M S Unit
Actual update_fd_readiness(fd, FORCE_EDGE), including source clock effects.
- unblockThread : Concurrency.ThreadId → M S Unit
Actual active-thread/stack switch, FnOnce callback and restore.
Instances For
structure
Miri.Interpreter.EventFd.Hooks
(S F : Type)
extends Miri.Interpreter.EventFd.PhysicalHooks S F :
- readU32 : OpTy Memory.Provenance → M S UInt32
- readI32 : OpTy Memory.Provenance → M S Int32
- u64Layout : M S LocalLayout
- readU64 : MPlaceTy Memory.Provenance → M S UInt64
- updateReadiness : F → M S Unit
- deferred : DeferredBackend S F
Instances For
def
Miri.Interpreter.EventFd.read
{S F : Type}
(h : Hooks S F)
(retryBudget : Nat)
(fd : F)
(pointer : Memory.Pointer (Option Memory.Provenance))
(length : Nat)
(finish : Finish S)
:
Takes one source strong self reference. Production transfers it into the typed retry interpreter; the fixture branch retains its explicit runner bound.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.EventFd.write
{S F : Type}
(h : Hooks S F)
(retryBudget : Nat)
(fd : F)
(pointer : Memory.Pointer (Option Memory.Provenance))
(length : Nat)
(finish : Finish S)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.EventFd.create
{S F : Type}
(h : Hooks S F)
(value flags : OpTy Memory.Provenance)
:
Equations
- One or more equations did not get rendered due to their size.