Struct wasmer_wasix::os::task::thread::WasiThread
source · pub struct WasiThread { /* private fields */ }
Expand description
Represents a running thread which allows a joiner to wait for the thread to exit
Implementations§
source§impl WasiThread
impl WasiThread
pub fn new( pid: WasiProcessId, id: WasiThreadId, is_main: bool, status: Arc<OwnedTaskStatus>, guard: TaskCountGuard ) -> Self
sourcepub fn pid(&self) -> WasiProcessId
pub fn pid(&self) -> WasiProcessId
Returns the process ID
sourcepub fn tid(&self) -> WasiThreadId
pub fn tid(&self) -> WasiThreadId
Returns the thread ID
sourcepub fn join_handle(&self) -> TaskJoinHandle
pub fn join_handle(&self) -> TaskJoinHandle
Get a join handle to watch the task status.
pub fn signals(&self) -> &Mutex<(Vec<Signal>, Vec<Waker>)>
pub fn set_status_running(&self)
sourcepub fn set_status_finished(&self, res: Result<ExitCode, WasiRuntimeError>)
pub fn set_status_finished(&self, res: Result<ExitCode, WasiRuntimeError>)
Marks the thread as finished (which will cause anyone that joined on it to wake up)
sourcepub async fn join(&self) -> Result<ExitCode, Arc<WasiRuntimeError>>
pub async fn join(&self) -> Result<ExitCode, Arc<WasiRuntimeError>>
Waits until the thread is finished or the timeout is reached
sourcepub fn try_join(&self) -> Option<Result<ExitCode, Arc<WasiRuntimeError>>>
pub fn try_join(&self) -> Option<Result<ExitCode, Arc<WasiRuntimeError>>>
Attempts to join on the thread
sourcepub fn has_signal(&self, signals: &[Signal]) -> bool
pub fn has_signal(&self, signals: &[Signal]) -> bool
Returns all the signals that are waiting to be processed
sourcepub fn pop_signals_or_subscribe(&self, waker: &Waker) -> Option<Vec<Signal>>
pub fn pop_signals_or_subscribe(&self, waker: &Waker) -> Option<Vec<Signal>>
Returns all the signals that are waiting to be processed
sourcepub fn has_signals_or_subscribe(&self, waker: &Waker) -> bool
pub fn has_signals_or_subscribe(&self, waker: &Waker) -> bool
Returns all the signals that are waiting to be processed
sourcepub fn pop_signals(&self) -> Vec<Signal>
pub fn pop_signals(&self) -> Vec<Signal>
Returns all the signals that are waiting to be processed
sourcepub fn add_snapshot(
&self,
memory_stack: &[u8],
memory_stack_corrected: &[u8],
hash: u128,
rewind_stack: &[u8],
store_data: &[u8]
)
pub fn add_snapshot( &self, memory_stack: &[u8], memory_stack_corrected: &[u8], hash: u128, rewind_stack: &[u8], store_data: &[u8] )
Adds a stack snapshot and removes dead ones
sourcepub fn get_snapshot(&self, hash: u128) -> Option<(BytesMut, Bytes, Bytes)>
pub fn get_snapshot(&self, hash: u128) -> Option<(BytesMut, Bytes, Bytes)>
Gets a snapshot that was previously addedf
pub fn copy_stack_from(&self, other: &WasiThread)
Trait Implementations§
source§impl Clone for WasiThread
impl Clone for WasiThread
source§fn clone(&self) -> WasiThread
fn clone(&self) -> WasiThread
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for WasiThread
impl Send for WasiThread
impl Sync for WasiThread
impl Unpin for WasiThread
impl !UnwindSafe for WasiThread
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§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>
Gets the layout of the type.
source§impl<T> Upcastable for Twhere
T: Any + Debug + 'static,
impl<T> Upcastable for Twhere T: Any + Debug + 'static,
§impl<T> Upcastable for Twhere
T: Any + Send + Sync + 'static,
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref