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 Freeze for ProcessControlBlockInner
impl !RefUnwindSafe for ProcessControlBlockInner
impl Send for ProcessControlBlockInner
impl Sync for ProcessControlBlockInner
impl Unpin for ProcessControlBlockInner
impl UnsafeUnpin 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