The actual clock-state boundary used by source synchronization operations. Legacy pure transitions retain GlobalState; canonical runtime transitions carry Option GlobalState. No absent-state implementation constructs a clock. release_clock exposes its source callback point before incrementing the clock.
- missingGlobal : SyncClockError
- global (error : GlobalStateError) : SyncClockError
Instances For
@[instance_reducible]
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
- acquire : G → ThreadManager → VClock → Except SyncClockError G
- prepareRelease : G → ThreadManager → Except SyncClockError (VClock × Except SyncClockError G)
First failure is before the source callback; the nested result is after the callback and retains its effects when clock increment fails.
Instances
@[instance_reducible]
Equations
- Miri.Concurrency.instSyncClockStateGlobalState = { acquire := Miri.Concurrency.acquireGlobal✝, prepareRelease := Miri.Concurrency.releaseGlobal✝ }
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
An absent clock is a representation error if a VClock operation is requested. Source None-mode skips the operation before reaching this boundary.