Ignore:
Timestamp:
Jul 23, 2017, 2:29:40 PM (7 years ago)
Author:
coas-nagasima
Message:

SVNプロパティを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • rubycfg_asp/trunk/asp_dcre/kernel/wait.h

    • Property svn:mime-type changed from text/x-chdr to text/x-chdr; charset=UTF-8
    r313 r315  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  上記著作権è€
    12 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    13  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    14  *  変・再é
    15 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    18  *      スコード中に含まれていること.
    19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    20  *      用できる形で再é
    21 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    22 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    23  *      è€
    24 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    25  *      の無保証規定を掲載すること.
    26  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    27  *      用できない形で再é
    28 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    29  *      と.
    30  *    (a) 再é
    31 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    32 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    33  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    34  *    (b) 再é
    35 å¸ƒã®å½¢æ
    36 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    37  *        報告すること.
    38  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    39  *      害からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトをå
    41 è²¬ã™ã‚‹ã“と.
    42  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    43  *      由に基づく請求からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトを
    45  *      å
    46 è²¬ã™ã‚‹ã“と.
    47  *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
     33 *
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  @(#) $Id$
     
    5742
    5843/*
    59  *              å¾
    60 ã¡çŠ¶æ
    61 ‹ç®¡ç†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«
     44 *              待ち状態管理モジュール
    6245 */
    6346
     
    6952
    7053/*
    71  *  タスクの優å
    72 ˆåº¦é †ã®å¾
    73 ã¡ã‚­ãƒ¥ãƒ¼ã¸ã®æŒ¿å
    74 ¥
    75  *
    76  *  p_tcbで指定されるタスクを,タスク優å
    77 ˆåº¦é †ã®ã‚­ãƒ¥ãƒ¼p_queueに挿å
    78 ¥ã™ã‚‹ï¼Ž
    79  *  キューの中に同じ優å
    80 ˆåº¦ã®ã‚¿ã‚¹ã‚¯ãŒã‚る場合には,その最後に挿å
    81 ¥ã™ã‚‹ï¼Ž
     54 *  タスクの優先度順の待ちキューへの挿入
     55 *
     56 *  p_tcbで指定されるタスクを,タスク優先度順のキューp_queueに挿入する.
     57 *  キューの中に同じ優先度のタスクがある場合には,その最後に挿入する.
    8258 */
    8359Inline void
     
    9773
    9874/*
    99  *  å¾
    100 ã¡çŠ¶æ
    101 ‹ã¸ã®é·ç§»
    102  *
    103  *  実行中のタスクをå¾
    104 ã¡çŠ¶æ
    105 ‹ã«é·ç§»ã•ã›ã‚‹ï¼Žå
    106 ·ä½“的には,実行中のタスクを
    107  *  レディキューから削除し,TCBのp_winfoフィールド,WINFOのp_tmevtbフィー
    108  *  ルドを設定する.
     75 *  待ち状態への遷移
     76 *
     77 *  実行中のタスクを待ち状態に遷移させる.具体的には,実行中のタスクを
     78 *  レディキューから削除し,TCBのp_winfoフィールド,WINFOのp_tmevtbフィー
     79 *  ルドを設定する.
    10980 */
    11081Inline void
     
    11788
    11889/*
    119  *  å¾
    120 ã¡çŠ¶æ
    121 ‹ã¸ã®é·ç§»ï¼ˆã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆæŒ‡å®šï¼‰
    122  *
    123  *  実行中のタスクを,タイムアウト指定付きでå¾
    124 ã¡çŠ¶æ
    125 ‹ã«é·ç§»ã•ã›ã‚‹ï¼Žå
    126 ·ä½“
    127  *  的には,実行中のタスクをレディキューから削除し,TCBのp_winfoフィー
    128  *  ルド,WINFOのp_tmevtbフィールドを設定する.また,タイムイベントブ
    129  *  ロックを登録する.
     90 *  待ち状態への遷移(タイムアウト指定)
     91 *
     92 *  実行中のタスクを,タイムアウト指定付きで待ち状態に遷移させる.具体
     93 *  的には,実行中のタスクをレディキューから削除し,TCBのp_winfoフィー
     94 *  ルド,WINFOのp_tmevtbフィールドを設定する.また,タイムイベントブ
     95 *  ロックを登録する.
    13096 */
    13197extern void     make_wait_tmout(WINFO *p_winfo, TMEVTB *p_tmevtb, TMO tmout);
    13298
    13399/*
    134  *  å¾
    135 ã¡è§£é™¤ã®ãŸã‚ã®ã‚¿ã‚¹ã‚¯çŠ¶æ
    136 ‹ã®æ›´æ–°
    137  *
    138  *  p_tcbで指定されるタスクを,å¾
    139 ã¡è§£é™¤ã™ã‚‹ã‚ˆã†ã‚¿ã‚¹ã‚¯çŠ¶æ
    140 ‹ã‚’更新する.
    141  *  å¾
    142 ã¡è§£é™¤ã™ã‚‹ã‚¿ã‚¹ã‚¯ãŒå®Ÿè¡Œã§ãã‚‹çŠ¶æ
    143 ‹ã«ãªã‚‹å ´åˆã¯ï¼Œãƒ¬ãƒ‡ã‚£ã‚­ãƒ¥ãƒ¼ã«ã¤ãª
    144  *  ぐ.また,ディスパッチがå¿
    145 è¦ãªå ´åˆã«ã¯trueを返す.
     100 *  待ち解除のためのタスク状態の更新
     101 *
     102 *  p_tcbで指定されるタスクを,待ち解除するようタスク状態を更新する.
     103 *  待ち解除するタスクが実行できる状態になる場合は,レディキューにつな
     104 *  ぐ.また,ディスパッチが必要な場合にはtrueを返す.
    146105 */
    147106Inline bool_t
     
    152111        if (!TSTAT_SUSPENDED(p_tcb->tstat)) {
    153112                /*
    154                  *  å¾
    155 ã¡çŠ¶æ
    156 ‹ã‹ã‚‰å®Ÿè¡Œã§ãã‚‹çŠ¶æ
    157 ‹ã¸ã®é·ç§»
     113                 *  待ち状態から実行できる状態への遷移
    158114                 */
    159115                p_tcb->tstat = TS_RUNNABLE;
     
    163119        else {
    164120                /*
    165                  *  二重å¾
    166 ã¡çŠ¶æ
    167 ‹ã‹ã‚‰å¼·åˆ¶å¾
    168 ã¡çŠ¶æ
    169 ‹ã¸ã®é·ç§»
     121                 *  二重待ち状態から強制待ち状態への遷移
    170122                 */
    171123                p_tcb->tstat = TS_SUSPENDED;
     
    176128
    177129/*
    178  *  オブジェクトå¾
    179 ã¡ã‚­ãƒ¥ãƒ¼ã‹ã‚‰ã®å‰Šé™¤
    180  *
    181  *  p_tcbで指定されるタスクが,同期・通信オブジェクトのå¾
    182 ã¡ã‚­ãƒ¥ãƒ¼ã«ã¤
    183  *  ながれていれば,å¾
    184 ã¡ã‚­ãƒ¥ãƒ¼ã‹ã‚‰å‰Šé™¤ã™ã‚‹ï¼Ž
     130 *  オブジェクト待ちキューからの削除
     131 *
     132 *  p_tcbで指定されるタスクが,同期・通信オブジェクトの待ちキューにつ
     133 *  ながれていれば,待ちキューから削除する.
    185134 */
    186135Inline void
     
    193142
    194143/*
    195  *  時間å¾
    196 ã¡ã®ãŸã‚ã®ã‚¿ã‚¤ãƒ ã‚¤ãƒ™ãƒ³ãƒˆãƒ–ロックの登録解除
    197  *
    198  *  p_tcbで指定されるタスクに対して,時間å¾
    199 ã¡ã®ãŸã‚ã®ã‚¿ã‚¤ãƒ ã‚¤ãƒ™ãƒ³ãƒˆãƒ–
    200  *  ロックが登録されていれば,それを登録解除する.
     144 *  時間待ちのためのタイムイベントブロックの登録解除
     145 *
     146 *  p_tcbで指定されるタスクに対して,時間待ちのためのタイムイベントブ
     147 *  ロックが登録されていれば,それを登録解除する.
    201148 */
    202149Inline void
     
    209156
    210157/*
    211  *  å¾
    212 ã¡è§£é™¤
    213  *
    214  *  p_tcbで指定されるタスクのå¾
    215 ã¡çŠ¶æ
    216 ‹ã‚’解除する.å
    217 ·ä½“的には,タイムイ
    218  *  ベントブロックが登録されていれば,それを登録解除する.また,タスク
    219  *  状æ
    220 ‹ã‚’更新し,å¾
    221 ã¡è§£é™¤ã—たタスクからの返値をE_OKとする.å¾
    222 ã¡ã‚­ãƒ¥ãƒ¼
    223  *  からの削除は行わない.å¾
    224 ã¡è§£é™¤ã—たタスクへのディスパッチがå¿
    225 è¦ãªå ´
    226  *  合にはtrueを返す.
     158 *  待ち解除
     159 *
     160 *  p_tcbで指定されるタスクの待ち状態を解除する.具体的には,タイムイ
     161 *  ベントブロックが登録されていれば,それを登録解除する.また,タスク
     162 *  状態を更新し,待ち解除したタスクからの返値をE_OKとする.待ちキュー
     163 *  からの削除は行わない.待ち解除したタスクへのディスパッチが必要な場
     164 *  合にはtrueを返す.
    227165 */
    228166extern bool_t   wait_complete(TCB *p_tcb);
    229167
    230168/*
    231  *  タイムアウトに伴うå¾
    232 ã¡è§£é™¤
    233  *
    234  *  p_tcbで指定されるタスクが,å¾
    235 ã¡ã‚­ãƒ¥ãƒ¼ã«ã¤ãªãŒã‚Œã¦ã„ればå¾
    236 ã¡ã‚­ãƒ¥ãƒ¼
    237  *  から削除し,タスク状æ
    238 ‹ã‚’更新する.また,å¾
    239 ã¡è§£é™¤ã—たタスクからの返
    240  *  値を,wait_tmoutではE_TMOUT,wait_tmout_okではE_OKとする.å¾
    241 ã¡è§£é™¤
    242  *  したタスクへのディスパッチがå¿
    243 è¦ãªæ™‚は,reqflgをtrueにする.
    244  *
    245  *  wait_tmout_okは,dly_tskで使うためのもので,å¾
    246 ã¡ã‚­ãƒ¥ãƒ¼ã‹ã‚‰å‰Šé™¤ã™ã‚‹
    247  *  処理を行わない.
    248  *
    249  *  いずれの関数も,タイムイベントのコールバック関数として用いるための
    250  *  もので,割込みハンドラから呼び出されることを想定している.
     169 *  タイムアウトに伴う待ち解除
     170 *
     171 *  p_tcbで指定されるタスクが,待ちキューにつながれていれば待ちキュー
     172 *  から削除し,タスク状態を更新する.また,待ち解除したタスクからの返
     173 *  値を,wait_tmoutではE_TMOUT,wait_tmout_okではE_OKとする.待ち解除
     174 *  したタスクへのディスパッチが必要な時は,reqflgをtrueにする.
     175 *
     176 *  wait_tmout_okは,dly_tskで使うためのもので,待ちキューから削除する
     177 *  処理を行わない.
     178 *
     179 *  いずれの関数も,タイムイベントのコールバック関数として用いるための
     180 *  もので,割込みハンドラから呼び出されることを想定している.
    251181 */
    252182extern void     wait_tmout(TCB *p_tcb);
     
    254184
    255185/*
    256  *  å¾
    257 ã¡çŠ¶æ
    258 ‹ã®å¼·åˆ¶è§£é™¤
    259  *
    260  *  p_tcbで指定されるタスクのå¾
    261 ã¡çŠ¶æ
    262 ‹ã‚’強制的に解除する.å
    263 ·ä½“的には,
    264  *  タスクがå¾
    265 ã¡ã‚­ãƒ¥ãƒ¼ã«ã¤ãªãŒã‚Œã¦ã„ればå¾
    266 ã¡ã‚­ãƒ¥ãƒ¼ã‹ã‚‰å‰Šé™¤ã—,タイムイ
    267  *  ベントブロックが登録されていればそれを登録解除する.また,タスクの
    268  *  状æ
    269 ‹ã‚’更新し,å¾
    270 ã¡è§£é™¤ã—たタスクからの返値をE_RLWAIとする.また,
    271  *  å¾
    272 ã¡è§£é™¤ã—たタスクへのディスパッチがå¿
    273 è¦ãªå ´åˆã«ã¯trueを返す.
     186 *  待ち状態の強制解除
     187 *
     188 *  p_tcbで指定されるタスクの待ち状態を強制的に解除する.具体的には,
     189 *  タスクが待ちキューにつながれていれば待ちキューから削除し,タイムイ
     190 *  ベントブロックが登録されていればそれを登録解除する.また,タスクの
     191 *  状態を更新し,待ち解除したタスクからの返値をE_RLWAIとする.また,
     192 *  待ち解除したタスクへのディスパッチが必要な場合にはtrueを返す.
    274193 */
    275194extern bool_t   wait_release(TCB *p_tcb);
    276195
    277196/*
    278  *  å¾
    279 ã¡ã‚­ãƒ¥ãƒ¼ã®å
    280 ˆé ­ã®ã‚¿ã‚¹ã‚¯ID
    281  *
    282  *  p_wait_queueで指定したå¾
    283 ã¡ã‚­ãƒ¥ãƒ¼ã®å
    284 ˆé ­ã®ã‚¿ã‚¹ã‚¯IDを返す.å¾
    285 ã¡ã‚­ãƒ¥ãƒ¼
    286  *  が空の場合には,TSK_NONEを返す.
     197 *  待ちキューの先頭のタスクID
     198 *
     199 *  p_wait_queueで指定した待ちキューの先頭のタスクIDを返す.待ちキュー
     200 *  が空の場合には,TSK_NONEを返す.
    287201 */
    288202Inline ID
     
    298212
    299213/*
    300  *  同期・通信オブジェクトの管理ブロックのå
    301 ±é€šéƒ¨åˆ†æ“ä½œãƒ«ãƒ¼ãƒãƒ³
    302  *
    303  *  同期・通信オブジェクトの初期化ブロックと管理ブロックのå
    304 ˆé ­éƒ¨åˆ†ã¯å
    305 ±
    306  *  通になっている.以下は,そのå
    307 ±é€šéƒ¨åˆ†ã‚’扱うための型およびルーチン群
    308  *  である.
    309  *
    310  *  複数のå¾
    311 ã¡ã‚­ãƒ¥ãƒ¼ã‚’持つ同期・通信オブジェクトの場合,å
    312 ˆé ­ä»¥å¤–のå¾
    313 ã¡
    314  *  キューを操作する場合には,これらのルーチンは使えない.また,オブジェ
    315  *  クト属性のTA_TPRIビットを参ç
    316 §ã™ã‚‹ã®ã§ï¼Œã“のビットを他の目的に使って
    317  *  いる場合も,これらのルーチンは使えない.
    318  */
    319 
    320 /*
    321  *  同期・通信オブジェクトの初期化ブロックのå
    322 ±é€šéƒ¨åˆ†
     214 *  同期・通信オブジェクトの管理ブロックの共通部分操作ルーチン
     215 *
     216 *  同期・通信オブジェクトの初期化ブロックと管理ブロックの先頭部分は共
     217 *  通になっている.以下は,その共通部分を扱うための型およびルーチン群
     218 *  である.
     219 *
     220 *  複数の待ちキューを持つ同期・通信オブジェクトの場合,先頭以外の待ち
     221 *  キューを操作する場合には,これらのルーチンは使えない.また,オブジェ
     222 *  クト属性のTA_TPRIビットを参照するので,このビットを他の目的に使って
     223 *  いる場合も,これらのルーチンは使えない.
     224 */
     225
     226/*
     227 *  同期・通信オブジェクトの初期化ブロックの共通部分
    323228 */
    324229typedef struct wait_object_initialization_block {
    325         ATR                     wobjatr;                /* オブジェクト属性 */
     230        ATR                     wobjatr;                /* オブジェクト属性 */
    326231} WOBJINIB;
    327232
    328233/*
    329  *  同期・通信オブジェクトの管理ブロックのå
    330 ±é€šéƒ¨åˆ†
     234 *  同期・通信オブジェクトの管理ブロックの共通部分
    331235 */
    332236typedef struct wait_object_control_block {
    333         QUEUE           wait_queue;             /* å¾
    334 ã¡ã‚­ãƒ¥ãƒ¼ */
    335         const WOBJINIB *p_wobjinib;     /* 初期化ブロックへのポインタ */
     237        QUEUE           wait_queue;             /* 待ちキュー */
     238        const WOBJINIB *p_wobjinib;     /* 初期化ブロックへのポインタ */
    336239} WOBJCB;
    337240
    338241/*
    339  *  同期・通信オブジェクトのå¾
    340 ã¡æƒ
    341 å ±ãƒ–ロックのå
    342 ±é€šéƒ¨åˆ†
    343  *
    344  *  この構造体は,å¾
    345 ã¡æƒ
    346 å ±ãƒ–ロック(WINFO)を拡張(オブジェクト指向言
    347  *  語の継承に相当)したものであるが,WINFOがå
    348 ±ç”¨ä½“で定義されているた
    349  *  めに,1つのフィールドとして含めている.
     242 *  同期・通信オブジェクトの待ち情報ブロックの共通部分
     243 *
     244 *  この構造体は,待ち情報ブロック(WINFO)を拡張(オブジェクト指向言
     245 *  語の継承に相当)したものであるが,WINFOが共用体で定義されているた
     246 *  めに,1つのフィールドとして含めている.
    350247 */
    351248typedef struct wait_object_waiting_information {
    352         WINFO   winfo;                  /* 標準のå¾
    353 ã¡æƒ
    354 å ±ãƒ–ロック */
    355         WOBJCB  *p_wobjcb;              /* å¾
    356 ã¡ã‚ªãƒ–ジェクトの管理ブロック */
     249        WINFO   winfo;                  /* 標準の待ち情報ブロック */
     250        WOBJCB  *p_wobjcb;              /* 待ちオブジェクトの管理ブロック */
    357251} WINFO_WOBJ;
    358252
    359253/*
    360  *  同期・通信オブジェクトに対するå¾
    361 ã¡çŠ¶æ
    362 ‹ã¸ã®é·ç§»
     254 *  同期・通信オブジェクトに対する待ち状態への遷移
    363255 * 
    364  *  実行中のタスクをå¾
    365 ã¡çŠ¶æ
    366 ‹ã«é·ç§»ã•ã›ï¼ŒåŒæœŸãƒ»é€šä¿¡ã‚ªãƒ–ジェクトのå¾
    367 ã¡ã‚­ãƒ¥ãƒ¼
    368  *  につなぐ.また,å¾
    369 ã¡æƒ
    370 å ±ãƒ–ロック(WINFO)のp_wobjcbを設定する.
    371  *  wobj_make_wait_tmoutは,タイムイベントブロックの登録も行う.
     256 *  実行中のタスクを待ち状態に遷移させ,同期・通信オブジェクトの待ちキュー
     257 *  につなぐ.また,待ち情報ブロック(WINFO)のp_wobjcbを設定する.
     258 *  wobj_make_wait_tmoutは,タイムイベントブロックの登録も行う.
    372259 */
    373260extern void     wobj_make_wait(WOBJCB *p_wobjcb, WINFO_WOBJ *p_winfo);
     
    376263
    377264/*
    378  *  タスク優å
    379 ˆåº¦å¤‰æ›´æ™‚の処理
    380  *
    381  *  同期・通信オブジェクトに対するå¾
    382 ã¡çŠ¶æ
    383 ‹ã«ã‚るタスクの優å
    384 ˆåº¦ãŒå¤‰æ›´ã•
    385  *  れた場合に,å¾
    386 ã¡ã‚­ãƒ¥ãƒ¼ã®ä¸­ã§ã®ã‚¿ã‚¹ã‚¯ã®ä½ç½®ã‚’修正する.
     265 *  タスク優先度変更時の処理
     266 *
     267 *  同期・通信オブジェクトに対する待ち状態にあるタスクの優先度が変更さ
     268 *  れた場合に,待ちキューの中でのタスクの位置を修正する.
    387269 */
    388270Inline void
     
    396278
    397279/*
    398  *  å¾
    399 ã¡ã‚­ãƒ¥ãƒ¼ã®åˆæœŸåŒ–
    400  *
    401  *  å¾
    402 ã¡ã‚­ãƒ¥ãƒ¼ã«ã¤ãªãŒã‚Œã¦ã„るタスクをすべてå¾
    403 ã¡è§£é™¤ã™ã‚‹ï¼Žå¾
    404 ã¡è§£é™¤ã—た
    405  *  タスクからの返値は,E_DLTとする.å¾
    406 ã¡è§£é™¤ã—たタスクへのディスパッチ
    407  *  がå¿
    408 è¦ãªå ´åˆã¯true,そうでない場合はfalseを返す.
     280 *  待ちキューの初期化
     281 *
     282 *  待ちキューにつながれているタスクをすべて待ち解除する.待ち解除した
     283 *  タスクからの返値は,E_DLTとする.待ち解除したタスクへのディスパッチ
     284 *  が必要な場合はtrue,そうでない場合はfalseを返す.
    409285 */
    410286extern bool_t   init_wait_queue(QUEUE *p_wait_queue);
Note: See TracChangeset for help on using the changeset viewer.