wait.c

待ち状態管理モジュール [詳細]

#include "jsp_kernel.h"
#include "wait.h"

wait.cのインクルード依存関係図

ソースコードを見る。

関数

void make_wait_tmout (WINFO *winfo, TMEVTB *tmevtb, TMO tmout)
 待ち状態への移行(タイムアウト指定)
Inline BOOL make_non_wait (TCB *tcb)
BOOL wait_complete (TCB *tcb)
 待ち解除
void wait_tmout (TCB *tcb)
 タイムアウトに伴う待ち解除
void wait_tmout_ok (TCB *tcb)
 タイムアウトに伴う待ち解除
void wait_cancel (TCB *tcb)
 待ち状態の強制解除
BOOL wait_release (TCB *tcb)
 待ち状態の強制解除
Inline void queue_insert_tpri (TCB *tcb, QUEUE *queue)
 タスクの優先度順の待ちキューへの挿入
Inline void wobj_queue_insert (WOBJCB *wobjcb)
 実行中のタスクの同期・通信オブジェクトの待ちキューへの挿入
void wobj_make_wait (WOBJCB *wobjcb, WINFO_WOBJ *winfo)
 同期・通信オブジェクトに対する待ち状態への移行
void wobj_make_wait_tmout (WOBJCB *wobjcb, WINFO_WOBJ *winfo, TMEVTB *tmevtb, TMO tmout)
 同期・通信オブジェクトに対する待ち状態への移行 (タイムアウト指定)
void wobj_change_priority (WOBJCB *wobjcb, TCB *tcb)
 タスクの優先度変更時の処理


説明

待ち状態管理モジュール

wait.c で定義されています。


関数

Inline BOOL make_non_wait ( TCB tcb  ) 

wait.c78 行で定義されています。

参照先 assertFALSELOG_TSKSTATmake_runnable()TS_SUSPENDEDtask_control_block::tstatTSTAT_SUSPENDEDTSTAT_WAITING.

参照元 wait_complete()wait_release()wait_tmout()wait_tmout_ok().

00079 {
00080         assert(TSTAT_WAITING(tcb->tstat));
00081 
00082         if (!(TSTAT_SUSPENDED(tcb->tstat))) {
00083                 /*
00084                  *  待ち状態から実行できる状態への遷移
00085                  */
00086                 return(make_runnable(tcb));
00087         }
00088         else {
00089                 /*
00090                  *  二重待ち状態から強制待ち状態への遷移
00091                  */
00092                 tcb->tstat = TS_SUSPENDED;
00093                 LOG_TSKSTAT(tcb);
00094                 return(FALSE);
00095         }
00096 }

関数の呼び出しグラフ:


Copyright © 2006 by TAKAGI Nobuhisa.
Copyright © 2006 by Kijineko Inc..
このページは Mon Dec 18 17:21:04 2006 に Doxygen によって生成されました。
データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】