pub struct TaskControlBlockInner {Show 20 fields
pub working_inode: Arc<OSInode>,
pub working_dir: String,
pub sigmask: Signals,
pub trap_cx_ppn: PhysPageNum,
pub base_size: usize,
pub task_cx_ptr: usize,
pub task_status: TaskStatus,
pub memory_set: MemorySet,
pub parent: Option<Weak<TaskControlBlock>>,
pub children: Vec<Arc<TaskControlBlock>>,
pub exit_code: u32,
pub fd_table: Vec<Option<FileDescriptor>>,
pub address: ProcAddress,
pub heap_bottom: usize,
pub heap_pt: usize,
pub siginfo: SigInfo,
pub pgid: usize,
pub rusage: Rusage,
pub clock: ProcClock,
pub timer: [ITimerVal; 3],
}Fields
working_inode: Arc<OSInode>working_dir: Stringsigmask: Signalstrap_cx_ppn: PhysPageNumbase_size: usizetask_cx_ptr: usizetask_status: TaskStatusmemory_set: MemorySetparent: Option<Weak<TaskControlBlock>>children: Vec<Arc<TaskControlBlock>>exit_code: u32fd_table: Vec<Option<FileDescriptor>>address: ProcAddressheap_bottom: usizeheap_pt: usizesiginfo: SigInfopgid: usizerusage: Rusageclock: ProcClocktimer: [ITimerVal; 3]Implementations
Try to alloc fd at hint, if hint is allocated, will alloc lowest valid fd above.