pub struct TaskLiveState {
pub thread: RwLock<ZirconThread>,
pub files: FdTable,
pub mm: RcuOptionArc<MemoryManager>,
pub fs: RcuArc<FsContext>,
pub abstract_socket_namespace: Arc<AbstractUnixSocketNamespace>,
pub abstract_vsock_namespace: Arc<AbstractVsockSocketNamespace>,
pub proc_pid_directory_cache: RcuOptionBox<FsNodeHandle>,
}Expand description
The live state of a task.
This structure contains the state of a task that is only relevant while the task is alive. It is dropped when the task enters the zombie state.
Fields§
§thread: RwLock<ZirconThread>A handle to the underlying Zircon thread object.
Some tasks lack an underlying Zircon thread. These tasks are used internally by the
Starnix kernel to track background work, typically on a kthread.
files: FdTableThe file descriptor table for this task.
This table can be share by many tasks.
mm: RcuOptionArc<MemoryManager>The memory manager for this task. This is None only for system tasks.
fs: RcuArc<FsContext>The file system for this task.
abstract_socket_namespace: Arc<AbstractUnixSocketNamespace>The namespace for abstract AF_UNIX sockets for this task.
abstract_vsock_namespace: Arc<AbstractVsockSocketNamespace>The namespace for AF_VSOCK for this task.
proc_pid_directory_cache: RcuOptionBox<FsNodeHandle>The pid directory, so it doesn’t have to be generated and thrown away on every access. See https://fxbug.dev/291962828 for details.
Implementations§
Auto Trait Implementations§
impl !Freeze for TaskLiveState
impl !RefUnwindSafe for TaskLiveState
impl Send for TaskLiveState
impl Sync for TaskLiveState
impl Unpin for TaskLiveState
impl UnsafeUnpin for TaskLiveState
impl !UnwindSafe for TaskLiveState
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
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
§impl<T> InstanceFromServiceTransport<T> for T
impl<T> InstanceFromServiceTransport<T> for T
§fn from_service_transport(handle: T) -> T
fn from_service_transport(handle: T) -> T
T to [Self]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>
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>
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