pub struct JoinOnlySpillInject { /* private fields */ }Expand description
Test-only inject: TaskSupervisor-owned JoinOnly-style work (§22.4 / Law 23 / M5.4).
Registers a RuntimeService that parks the worker thread until
JoinOnlySpillInject::release (abort cannot join a non-awaiting park —
same shape as the §22.3 sacrificial). Proves wait_stopped stays Quiescing
with owned_tasks > 0, then reaches Stopped after release.
Production leaves RuntimeConfig::inject_join_only_spill as None.
Name retains “Spill” for API stability; ownership is TaskSupervisor, not
crate::transaction::dispatcher::OrphanToolPermitSet.
Implementations§
Source§impl JoinOnlySpillInject
impl JoinOnlySpillInject
Sourcepub fn new() -> Self
pub fn new() -> Self
New inject; JoinOnly wait starts blocked until Self::release.
Sourcepub fn is_entered(&self) -> bool
pub fn is_entered(&self) -> bool
True once the supervised task has entered its park loop.
Trait Implementations§
Source§impl Debug for JoinOnlySpillInject
impl Debug for JoinOnlySpillInject
Auto Trait Implementations§
impl !Freeze for JoinOnlySpillInject
impl RefUnwindSafe for JoinOnlySpillInject
impl Send for JoinOnlySpillInject
impl Sync for JoinOnlySpillInject
impl Unpin for JoinOnlySpillInject
impl UnsafeUnpin for JoinOnlySpillInject
impl UnwindSafe for JoinOnlySpillInject
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more