Struct os::task::process::ProcessControlBlockInner
source · pub struct ProcessControlBlockInner {
pub is_zombie: bool,
pub memory_set: MemorySet,
pub parent: Option<Weak<ProcessControlBlock>>,
pub children: Vec<Arc<ProcessControlBlock>>,
pub exit_code: i32,
pub fd_table: Vec<Option<Arc<dyn File + Send + Sync>>>,
pub signals: SignalFlags,
pub tasks: Vec<Option<Arc<TaskControlBlock>>>,
pub task_res_allocator: RecycleAllocator,
pub mutex_list: Vec<Option<Arc<dyn Mutex>>>,
pub semaphore_list: Vec<Option<Arc<Semaphore>>>,
pub condvar_list: Vec<Option<Arc<Condvar>>>,
}
Fields§
§is_zombie: bool
§memory_set: MemorySet
§parent: Option<Weak<ProcessControlBlock>>
§children: Vec<Arc<ProcessControlBlock>>
§exit_code: i32
§fd_table: Vec<Option<Arc<dyn File + Send + Sync>>>
§signals: SignalFlags
§tasks: Vec<Option<Arc<TaskControlBlock>>>
§task_res_allocator: RecycleAllocator
§mutex_list: Vec<Option<Arc<dyn Mutex>>>
§semaphore_list: Vec<Option<Arc<Semaphore>>>
§condvar_list: Vec<Option<Arc<Condvar>>>
Implementations§
source§impl ProcessControlBlockInner
impl ProcessControlBlockInner
pub fn get_user_token(&self) -> usize
pub fn alloc_fd(&mut self) -> usize
pub fn alloc_tid(&mut self) -> usize
pub fn dealloc_tid(&mut self, tid: usize)
pub fn thread_count(&self) -> usize
pub fn get_task(&self, tid: usize) -> Arc<TaskControlBlock>
Auto Trait Implementations§
impl !RefUnwindSafe for ProcessControlBlockInner
impl Send for ProcessControlBlockInner
impl Sync for ProcessControlBlockInner
impl Unpin for ProcessControlBlockInner
impl !UnwindSafe for ProcessControlBlockInner
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