Home
last modified time | relevance | path

Searched refs:timeout (Results 1 – 7 of 7) sorted by relevance

/DragonOS-0.1.8/kernel/src/sched/
Dcompletion.c57 static long __wait_for_common(struct completion *x, long (*action)(long), long timeout, int state) in __wait_for_common() argument
63 while (!x->done && timeout > 0) in __wait_for_common()
72 timeout = action(timeout); in __wait_for_common()
76 return timeout; // 仍然没有complete, 但是被其他进程唤醒 in __wait_for_common()
84 return timeout ? timeout : 1; // 这里linux返回1,不知道为啥 in __wait_for_common()
106 long wait_for_completion_timeout(struct completion *x, long timeout) in wait_for_completion_timeout() argument
108 BUG_ON(timeout < 0); in wait_for_completion_timeout()
110 timeout = __wait_for_common(x, &rs_schedule_timeout, timeout, PROC_UNINTERRUPTIBLE); in wait_for_completion_timeout()
112 return timeout; in wait_for_completion_timeout()
134 long wait_for_completion_interruptible_timeout(struct completion *x, long timeout) in wait_for_completion_interruptible_timeout() argument
[all …]
/DragonOS-0.1.8/docs/kernel/sched/
Dkernel_timer.md11 &emsp;&emsp;**如果只是希望当前pcb休眠一段时间,应调用`schedule_timeout(timeout)`,timeout指定pcb休眠的时间长度。**
58 pub fn schedule_timeout(mut timeout: i64) -> Result<i64, SystemError>
63 &emsp;&emsp;让进程休眠timeout个jiffies
67 - timeout:需要休眠的时间 (单位:**jiffies**)
Dc_waiting.md181 …_completion_timeout(struct completion *x, long timeout) | 将当前进程挂起,并设置挂起状态为PROC_UNINTERRUPTIBLE。当等…
183 …nterruptible_timeout(struct completion *x, long timeout) | 将当前进程挂起,并设置挂起状态为PROC_INTERRUPTIBLE。当等待t…
/DragonOS-0.1.8/kernel/src/common/
Dcompletion.h27 long wait_for_completion_timeout(struct completion *x, long timeout);
29 long wait_for_completion_interruptible_timeout(struct completion *x, long timeout);
/DragonOS-0.1.8/kernel/src/time/
Dtimer.rs237 pub fn schedule_timeout(mut timeout: i64) -> Result<i64, SystemError> { in schedule_timeout()
239 if timeout == MAX_TIMEOUT { in schedule_timeout()
242 } else if timeout < 0 { in schedule_timeout()
249 timeout += TIMER_JIFFIES.load(Ordering::SeqCst) as i64; in schedule_timeout()
250 let timer = Timer::new(WakeUpHelper::new(current_pcb()), timeout as u64); in schedule_timeout()
257 let time_remaining: i64 = timeout - TIMER_JIFFIES.load(Ordering::SeqCst) as i64; in schedule_timeout()
309 pub extern "C" fn rs_schedule_timeout(timeout: i64) -> i64 { in rs_schedule_timeout()
310 match schedule_timeout(timeout) { in rs_schedule_timeout()
Dtimer.h13 extern int64_t rs_schedule_timeout(int64_t timeout);
/DragonOS-0.1.8/docs/userland/libc/apis/api-list/
Derrno.md175 #define ETIME 77 /* 流式ioctl()超时 Stream ioctl() timeout*/