struct StoreInterruptState {
pthread: usize,
interrupted: bool,
thread_current_signal_target_store: Arc<AtomicUsize>,
}Expand description
All necessary data for interrupting a store running WASM code on a thread.
Fields§
§pthread: usizeThe pthread of the thread the store is running on, used to send the interrupt signal. Note that multiple stores may be executing WASM code within the same OS thread.
We store this as a plain integer because libc::pthread_t is a raw
pointer on some Unix targets, which would make the global DashMap
fail its Send bounds even though we only treat the value as an opaque
thread identifier.
interrupted: boolWhether this store was interrupted.
thread_current_signal_target_store: Arc<AtomicUsize>See comments in ThreadInterruptState.
Auto Trait Implementations§
impl Freeze for StoreInterruptState
impl RefUnwindSafe for StoreInterruptState
impl Send for StoreInterruptState
impl Sync for StoreInterruptState
impl Unpin for StoreInterruptState
impl UnwindSafe for StoreInterruptState
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.