Go to the source code of this file.
◆ unsleep()
Definition at line 11 of file unsleep.c.
References disable(), getitem(), isbadpid, NPROC, OK, PR_RECTIM, PR_SLEEP, proctab, procent::prstate, qentry::qkey, qentry::qnext, queuetab, restore(), and SYSERR.
Referenced by kill(), and send().
40 if (pidnext <
NPROC) {
#define PR_RECTIM
プロセスが「タイムアウト」か「メッセージの到着」のいずれか早い方で待機中の状態。
#define isbadpid(x)
プロセスIDを検証する。割り込みが無効になっている事を想定している。
qid16 qnext
次のプロセスか末尾のプロセスのインデックス。
int32 qkey
キュー順序を決定するキー(優先度)。
#define PR_SLEEP
プロセスが休眠中(タイマー待機中)の状態。
uint32 intmask
保存された割り込みマスク
uint16 prstate
プロセス状態(PR_CURR, ..., etc)。
pid32 getitem(pid32)
キューの任意の位置からプロセスを取り出す。
struct procent proctab[]
プロセステーブル。
intmask disable(void)
割り込み禁止(intr.Sに定義がある)