wait.h

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

#include "task.h"
#include "time_event.h"

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

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

データ構造

struct  wait_object_initialization_block
 同期・通信オブジェクトの初期化ブロックの共通部分 [詳細]
struct  wait_object_control_block
 同期・通信オブジェクトの管理ブロックの共通部分 [詳細]
struct  wait_object_waiting_information
 同期・通信オブジェクト待ち情報ブロックの定義 [詳細]

型定義

typedef wait_object_initialization_block WOBJINIB
 同期・通信オブジェクトの初期化ブロックの共通部分
typedef wait_object_control_block WOBJCB
 同期・通信オブジェクトの管理ブロックの共通部分
typedef wait_object_waiting_information WINFO_WOBJ
 同期・通信オブジェクト待ち情報ブロックの定義

関数

Inline void make_wait (WINFO *winfo)
 待ち状態への移行
void make_wait_tmout (WINFO *winfo, TMEVTB *tmevtb, TMO tmout)
 待ち状態への移行(タイムアウト指定)
BOOL wait_complete (CCB *ccb, TCB *tcb)
 待ち解除
void wait_tmout (TCB *tcb)
void wait_tmout_ok (TCB *tcb)
void wait_cancel (CCB *ccb, TCB *tcb)
BOOL wait_release (CCB *ccb, TCB *tcb)
void wobj_make_wait (CCB *ccb, WOBJCB *wobjcb, WINFO_WOBJ *winfo)
void wobj_make_wait_tmout (CCB *ccb, WOBJCB *wobjcb, WINFO_WOBJ *winfo, TMEVTB *tmevtb, TMO tmout)
void wobj_change_priority (WOBJCB *wobjcb, TCB *tcb)


説明

待ち状態管理モジュール

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


型定義

typedef struct wait_object_waiting_information WINFO_WOBJ
 

同期・通信オブジェクト待ち情報ブロックの定義

typedef struct wait_object_control_block WOBJCB
 

同期・通信オブジェクトの管理ブロックの共通部分

typedef struct wait_object_initialization_block WOBJINIB
 

同期・通信オブジェクトの初期化ブロックの共通部分


関数

Inline void make_wait WINFO winfo  ) 
 

待ち状態への移行

実行中のタスクを待ち状態に移行させる.具体的には,実行中のタスクを レディキューから削除し,TCB の winfoフィールド,WINFO の tmevtbフ ィールドを設定する.

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

参照先 make_non_runnableNULLrunccbruntskwaiting_information::tmevtb.

00060 {
00061     make_non_runnable(runccb, runtsk);
00062     runtsk->winfo = winfo;
00063     winfo->tmevtb = NULL;
00064 }

void make_wait_tmout WINFO winfo,
TMEVTB tmevtb,
TMO  tmout
 

待ち状態への移行(タイムアウト指定)

実行中のタスクを,タイムアウト指定付きで待ち状態に移行させる.具体 的には,実行中のタスクをレディキューから削除し,TCB の winfoフィー ルド,WINFO の tmevtbフィールドを設定する.また,タイムイベントブ ロックを登録する.

void wait_cancel CCB ccb,
TCB tcb
 

BOOL wait_complete CCB ccb,
TCB tcb
 

待ち解除

tcb で指定されるタスクの待ち状態を解除する.具体的には,タイムイベ ントブロックが登録されていれば,それを登録解除する.また,タスク状 態を更新し,待ち解除したタスクからの返値を E_OK とする.待ちキュー からの削除は行わない.待ち解除したタスクへのディスパッチが必要な場 合には TRUE を返す.

BOOL wait_release CCB ccb,
TCB tcb
 

void wait_tmout TCB tcb  ) 
 

void wait_tmout_ok TCB tcb  ) 
 

void wobj_change_priority WOBJCB wobjcb,
TCB tcb
 

void wobj_make_wait CCB ccb,
WOBJCB wobjcb,
WINFO_WOBJ winfo
 

void wobj_make_wait_tmout CCB ccb,
WOBJCB wobjcb,
WINFO_WOBJ winfo,
TMEVTB tmevtb,
TMO  tmout
 


Copyright © 2006 by TAKAGI Nobuhisa.
このページは Mon Apr 3 23:49:19 2006 に Doxygen によって生成されました。