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: String
sigmask: Signals
trap_cx_ppn: PhysPageNum
base_size: usize
task_cx_ptr: usize
task_status: TaskStatus
memory_set: MemorySet
parent: Option<Weak<TaskControlBlock>>
children: Vec<Arc<TaskControlBlock>>
exit_code: u32
fd_table: Vec<Option<FileDescriptor>>
address: ProcAddress
heap_bottom: usize
heap_pt: usize
siginfo: SigInfo
pgid: usize
rusage: Rusage
clock: ProcClock
timer: [ITimerVal; 3]
Implementations
Try to alloc fd at hint
, if hint
is allocated, will alloc lowest valid fd above.