Home
last modified time | relevance | path

Searched refs:wakeup (Results 1 – 20 of 20) sorted by relevance

/DragonOS-0.1.9/docs/kernel/sched/
Drust_waiting.md37    当前进程会被挂起,直到有另一个进程调用了`wq.wakeup()`。
45 wq.wakeup(PROC_INTERRUPTIBLE);
48 wq.wakeup(PROC_UNINTERRUPTIBLE);
51 wq.wakeup((-1) as u64);
71   您可以使用`wakeup(state)`函数,唤醒等待队列中的第一个进程。如果这个进程的state与给定的state进行and操作之后,结果不为0,则唤醒它。
/DragonOS-0.1.9/kernel/src/libs/
Dwait_queue.rs187 pub fn wakeup(&self, state: Option<ProcessState>) -> bool { in wakeup() method
209 let res = ProcessManager::wakeup(&to_wakeup).is_ok(); in wakeup()
236 ProcessManager::wakeup(&to_wakeup).unwrap_or_else(|e| { in wakeup_all()
341 if ProcessManager::wakeup(pcb).is_ok() { in wakeup_any()
360 pub fn wakeup(&self, events: u64) -> usize { in wakeup() method
366 if ProcessManager::wakeup(pcb).is_ok() { in wakeup()
Dsemaphore.rs52 if !self.wait_queue.wakeup(None) { in up()
Dmutex.rs130 ProcessManager::wakeup(&to_wakeup).ok(); in unlock()
/DragonOS-0.1.9/docs/kernel/process_management/
Dkthread.md11 &emsp;&emsp;当内核线程被创建后,默认处于睡眠状态,要使用`ProcessManager::wakeup`函数将其唤醒。
/DragonOS-0.1.9/kernel/src/ipc/
Dpipe.rs178 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
227 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
233 .wakeup(Some(ProcessState::Blocked(true))); in read_at()
341 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
379 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
385 .wakeup(Some(ProcessState::Blocked(true))); in write_at()
Dsignal.rs299 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in signal_wake_up()
326 let _r = ProcessManager::wakeup(&pcb).map(|_| { in signal_wake_up()
/DragonOS-0.1.9/kernel/src/sched/
Dcompletion.rs53 inner.wait_queue.wakeup(None); in do_wait_for_common()
96 inner.wait_queue.wakeup(None); in complete()
/DragonOS-0.1.9/kernel/src/process/
Dkthread.rs310 ProcessManager::wakeup(&pcb).expect("Failed to wakeup kthread daemon"); in init_stage2()
336 ProcessManager::wakeup(unsafe { KTHREAD_DAEMON_PCB.as_ref().unwrap() }) in create()
357 ProcessManager::wakeup(&pcb) in create_and_run()
391 ProcessManager::wakeup(pcb).ok(); in stop()
Dsyscall.rs215 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in clone()
Dfork.rs188 ProcessManager::wakeup(&pcb).unwrap_or_else(|e| { in fork()
Dmod.rs203 pub fn wakeup(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup() method
344 pcb.wait_queue.wakeup(Some(ProcessState::Blocked(true))); in exit()
/DragonOS-0.1.9/kernel/src/exception/
Dsysfs.rs243 let wakeup = irq_desc.irq_data().is_wakeup_set(); in show() localVariable
244 return sysfs_emit_str(buf, &format!("{}\n", wakeup)); in show()
Dhandle.rs190 ProcessManager::wakeup(&thread).ok(); in do_irq_wake_thread()
Dmanage.rs585 ProcessManager::wakeup(&action_guard.thread().unwrap()).ok(); in wake_up_and_wait_for_irq_thread_ready()
/DragonOS-0.1.9/kernel/src/time/
Dtimer.rs54 ProcessManager::wakeup(&self.pcb).ok(); in run()
/DragonOS-0.1.9/kernel/src/driver/tty/
Dtty_core.rs141 .wakeup(EPollEventType::EPOLLOUT.bits() as u64); in tty_wakeup()
/DragonOS-0.1.9/docs/community/ChangeLog/V0.1.x/
DV0.1.9.md91 - bugfix: 解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的…
1245 1.解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug
1905 * 修正为在 wakeup 中设置 running ,以保留 set_state 的私有性
1915 * 修复wakeup的问题
/DragonOS-0.1.9/kernel/src/libs/futex/
Dfutex.rs106 ProcessManager::wakeup(&futex_q.pcb.upgrade().unwrap())?; in wake_up()
/DragonOS-0.1.9/kernel/src/net/event_poll/
Dmod.rs707 self.epoll_wq.wakeup(None); in ep_wake_one()