Lines Matching refs:ProcessControlBlock

86 static ALL_PROCESS: SpinLock<Option<HashMap<Pid, Arc<ProcessControlBlock>>>> = SpinLock::new(None);
94 pub prev_pcb: Option<Arc<ProcessControlBlock>>,
95 pub next_pcb: Option<Arc<ProcessControlBlock>>,
159 pub fn current_pcb() -> Arc<ProcessControlBlock> { in current_pcb()
166 return ProcessControlBlock::arch_current_pcb(); in current_pcb()
205 pub fn find(pid: Pid) -> Option<Arc<ProcessControlBlock>> { in find() argument
218 pub fn add_pcb(pcb: Arc<ProcessControlBlock>) { in add_pcb() argument
227 pub fn wakeup(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup()
267 pub fn wakeup_stop(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup_stop()
498 pub fn kick(pcb: &Arc<ProcessControlBlock>) { in kick() argument
612 pub struct ProcessControlBlock { struct
643 parent_pcb: RwLock<Weak<ProcessControlBlock>>, argument
645 real_parent_pcb: RwLock<Weak<ProcessControlBlock>>, argument
672 impl ProcessControlBlock { argument
727 let ppcb: Weak<ProcessControlBlock> = ProcessManager::find(ppid) in do_create_pcb()
1052 impl Drop for ProcessControlBlock { implementation
1078 group_leader: Weak<ProcessControlBlock>,
1091 pub fn group_leader(&self) -> Option<Arc<ProcessControlBlock>> { in group_leader() argument
1443 pub unsafe fn set_pcb(&mut self, pcb: Weak<ProcessControlBlock>) -> Result<(), SystemError> { in set_pcb()
1445 let p: *const ProcessControlBlock = Weak::into_raw(pcb); in set_pcb() constant
1446 let stack_bottom_ptr = self.start_address().data() as *mut *const ProcessControlBlock; in set_pcb() constant
1467 let stack_bottom_ptr = self.start_address().data() as *mut *const ProcessControlBlock; in clear_pcb() constant
1473 let pcb_ptr: Weak<ProcessControlBlock> = Weak::from_raw(*stack_bottom_ptr); in clear_pcb()
1482 pub unsafe fn pcb(&self) -> Option<Arc<ProcessControlBlock>> { in pcb() argument
1484 let p = self.stack.as_ref().unwrap().as_ptr() as *const *const ProcessControlBlock; in pcb() constant
1490 let weak_wrapper: ManuallyDrop<Weak<ProcessControlBlock>> = in pcb()
1493 let new_arc: Arc<ProcessControlBlock> = weak_wrapper.upgrade()?; in pcb()
1501 let ptr = self.stack.as_ref().unwrap().as_ptr() as *const *const ProcessControlBlock; in drop() constant
1503 let pcb_ptr: Weak<ProcessControlBlock> = unsafe { Weak::from_raw(*ptr) }; in drop()