Ignore:
Timestamp:
Mar 8, 2016, 8:37:45 PM (7 years ago)
Author:
coas-nagasima
Message:

MIMEにSJISを設定

File:
1 edited

Legend:

Unmodified
Added
Removed
  • UsbWattMeter/trunk/asp_dcre/kernel/task.c

    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=SHIFT_JIS
    r164 r167  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì(1)`(4)‚ÌðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒF
    12  *  ƒAi–{ƒ\ƒtƒgƒEƒFƒA‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü
    13  *  •ÏEÄ”z•ziˆÈ‰ºC—˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
    14  *  (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
    15  *      Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
    16  *      ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
    17  *  (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    18  *      —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ
    19 ƒƒ“ƒgi—˜—p
    20  *      ŽÒƒ}ƒjƒ
    21 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
    22  *      ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    23  *  (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
    24  *      —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
    25  *      ‚ƁD
    26  *    (a) Ä”z•z‚É”º‚¤ƒhƒLƒ
    27 ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ
    28 ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
    29  *        ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
    30  *    (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
    31  *        •ñ‚·‚邱‚ƁD
    32  *  (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
    33  *      ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
    34  *      ‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚̃†[ƒU‚Ü‚½‚̓Gƒ“ƒhƒ†[ƒU‚©‚ç‚Ì‚¢‚©‚Ȃ闝
    35  *      —R‚ÉŠî‚­¿‹‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð
    36  *      –Ɛӂ·‚邱‚ƁD
     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 *      免責すること.
    3733 *
    38  *  –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
    39  *  ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC“Á’è‚ÌŽg—p–Ú“I
    40  *  ‚ɑ΂·‚é“K‡«‚àŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒF
    41  *  ƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»
    42  *  ‚̐ӔC‚𕉂í‚È‚¢D
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    4339 *
    4440 *  $Id$
     
    4642
    4743/*
    48  *              ƒ^ƒXƒNŠÇ—ƒ‚ƒWƒ
    49 [ƒ‹
     44 *              タスク管理モジュール
    5045 */
    5146
     
    5550
    5651/*
    57  *  ƒgƒŒ[ƒXƒƒOƒ}ƒNƒ‚̃fƒtƒHƒ‹ƒg’è‹`
     52 *  トレースログマクロのデフォルト定義
    5853 */
    5954#ifndef LOG_TEX_ENTER
     
    6863
    6964/*
    70  *  ŽÀsó‘Ԃ̃^ƒXƒN
     65 *  実行状態のタスク
    7166 */
    7267TCB             *p_runtsk;
    7368
    7469/*
    75  *  Å‚—Dæ‡ˆÊ‚̃^ƒXƒN
     70 *  最高優先順位のタスク
    7671 */
    7772TCB             *p_schedtsk;
    7873
    7974/*
    80  *  ƒ^ƒXƒNƒfƒBƒXƒpƒbƒ`^ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‹N“®—v‹ƒtƒ‰ƒO
     75 *  タスクディスパッチ/タスク例外処理ルーチン起動要求フラグ
    8176 */
    8277bool_t  reqflg;
    8378
    8479/*
    85  *  Š„ž‚Ý—Dæ“xƒ}ƒXƒN‘S‰ðœó‘Ô
     80 *  割込み優先度マスク全解除状態
    8681 */
    8782bool_t  ipmflg;
    8883
    8984/*
    90  *  ƒfƒBƒXƒpƒbƒ`‹ÖŽ~ó‘Ô
     85 *  ディスパッチ禁止状態
    9186 */
    9287bool_t  disdsp;
    9388
    9489/*
    95  *  ƒ^ƒXƒNƒfƒBƒXƒpƒbƒ`‰Â”\ó‘Ô
     90 *  タスクディスパッチ可能状態
    9691 */
    9792bool_t  dspflg;
    9893
    9994/*
    100  *  ƒŒƒfƒBƒLƒ
    101 [
     95 *  レディキュー
    10296 */
    10397QUEUE   ready_queue[TNUM_TPRI];
    10498
    10599/*
    106  *  ƒŒƒfƒBƒLƒ
    107 [ƒT[ƒ`‚Ì‚½‚߂̃rƒbƒgƒ}ƒbƒv
     100 *  レディキューサーチのためのビットマップ
    108101 */
    109102uint16_t        ready_primap;
    110103
    111104/*
    112  *  Žg—p‚µ‚Ä‚¢‚È‚¢TCB‚̃ŠƒXƒg
     105 *  使用していないTCBのリスト
    113106 */
    114107QUEUE   free_tcb;
    115108
    116109/*
    117  *  ƒ^ƒXƒNŠÇ—ƒ‚ƒWƒ
    118 [ƒ‹‚̏‰Šú‰»
     110 *  タスク管理モジュールの初期化
    119111 */
    120112void
     
    160152
    161153/*
    162  *  ƒrƒbƒgƒ}ƒbƒvƒT[ƒ`ŠÖ”
    163  *
    164  *  bitmap“à‚Ì1‚̃rƒbƒg‚Ì“àCÅ‚à‰ºˆÊi‰Ej‚Ì‚à‚Ì‚ðƒT[ƒ`‚µC‚»‚̃rƒb
    165  *  ƒg”ԍ†‚ð•Ô‚·Dƒrƒbƒg”ԍ†‚́CÅ‰ºˆÊƒrƒbƒg‚ð0‚Æ‚·‚éDbitmap‚É0‚ðŽw’è
    166  *  ‚µ‚Ä‚Í‚È‚ç‚È‚¢D‚±‚̊֐”‚ł́Cbitmap‚ª16ƒrƒbƒg‚Å‚ ‚邱‚Æ‚ð‰¼’è‚µC
    167  *  uint16_tŒ^‚Æ‚µ‚Ä‚¢‚éD
    168  *
    169  *  ƒrƒbƒgƒT[ƒ`–½—ß‚ðŽ‚ÂƒvƒƒZƒbƒT‚ł́CƒrƒbƒgƒT[ƒ`–½—ß‚ðŽg‚¤‚悤‚É
    170  *  ‘‚«’¼‚µ‚½•û‚ªŒø—¦‚ª—Ç‚¢ê‡‚ª‚ ‚éD‚±‚̂悤‚ȏꍇ‚ɂ́Cƒ^[ƒQƒbƒg
    171  *  ˆË‘¶•”‚ŃrƒbƒgƒT[ƒ`–½—ß‚ðŽg‚Á‚½bitmap_search‚ð’è‹`‚µC
    172  *  OMIT_BITMAP_SEARCH‚ðƒ}ƒNƒ’è‹`‚·‚ê‚΂悢D‚Ü‚½CƒrƒbƒgƒT[ƒ`–½—ß‚Ì
    173  *  ƒT[ƒ`•ûŒü‚ª‹t‚È‚Ç‚Ì——R‚Å—Dæ“x‚ƃrƒbƒg‚Ƃ̑Ήž‚ð•ÏX‚µ‚½‚¢ê‡‚É
    174  *  ‚́CPRIMAP_BIT‚ðƒ}ƒNƒ’è‹`‚·‚ê‚΂悢D
    175  *
    176  *  ‚Ü‚½Cƒ‰ƒCƒuƒ‰ƒŠ‚Éffs‚ª‚ ‚é‚È‚çCŽŸ‚̂悤‚É’è‹`‚µ‚ă‰ƒCƒuƒ‰ƒŠŠÖ”‚ð
    177  *  Žg‚Á‚½•û‚ªŒø—¦‚ª—Ç‚¢‰Â”\«‚à‚ ‚éD
     154 *  ビットマップサーチ関数
     155 *
     156 *  bitmap内の1のビットの内,最も下位(右)のものをサーチし,そのビッ
     157 *  ト番号を返す.ビット番号は,最下位ビットを0とする.bitmapに0を指定
     158 *  してはならない.この関数では,bitmapが16ビットであることを仮定し,
     159 *  uint16_t型としている.
     160 *
     161 *  ビットサーチ命令を持つプロセッサでは,ビットサーチ命令を使うように
     162 *  書き直した方が効率が良い場合がある.このような場合には,ターゲット
     163 *  依存部でビットサーチ命令を使ったbitmap_searchを定義し,
     164 *  OMIT_BITMAP_SEARCHをマクロ定義すればよい.また,ビットサーチ命令の
     165 *  サーチ方向が逆などの理由で優先度とビットとの対応を変更したい場合に
     166 *  は,PRIMAP_BITをマクロ定義すればよい.
     167 *
     168 *  また,ライブラリにffsがあるなら,次のように定義してライブラリ関数を
     169 *  使った方が効率が良い可能性もある.
    178170 *              #define bitmap_search(bitmap) (ffs(bitmap) - 1)
    179171 */
     
    207199
    208200/*
    209  *  —Dæ“xƒrƒbƒgƒ}ƒbƒv‚ª‹ó‚©‚̃`ƒFƒbƒN
     201 *  優先度ビットマップが空かのチェック
    210202 */
    211203Inline bool_t
     
    216208
    217209/*
    218  *  —Dæ“xƒrƒbƒgƒ}ƒbƒv‚̃T[ƒ`
     210 *  優先度ビットマップのサーチ
    219211 */
    220212Inline uint_t
     
    225217
    226218/*
    227  *  —Dæ“xƒrƒbƒgƒ}ƒbƒv‚̃Zƒbƒg
     219 *  優先度ビットマップのセット
    228220 */
    229221Inline void
     
    234226
    235227/*
    236  *  —Dæ“xƒrƒbƒgƒ}ƒbƒv‚̃NƒŠƒA
     228 *  優先度ビットマップのクリア
    237229 */
    238230Inline void
     
    243235
    244236/*
    245  *  Å‚—Dæ‡ˆÊƒ^ƒXƒN‚̃T[ƒ`
     237 *  最高優先順位タスクのサーチ
    246238 */
    247239#ifdef TOPPERS_tsksched
     
    259251
    260252/*
    261  *  ŽÀs‚Å‚«‚éó‘Ô‚Ö‚Ì‘JˆÚ
    262  *
    263  *  Å‚—Dæ‡ˆÊ‚̃^ƒXƒN‚ðXV‚·‚é‚̂́CŽÀs‚Å‚«‚éƒ^ƒXƒN‚ª‚È‚©‚Á‚½ê‡
    264  *  ‚ƁCp_tcb‚Ì—Dæ“x‚ªÅ‚—Dæ‡ˆÊ‚̃^ƒXƒN‚Ì—Dæ“x‚æ‚è‚à‚‚¢ê‡‚Å‚ 
    265  *  ‚éD
     253 *  実行できる状態への遷移
     254 *
     255 *  最高優先順位のタスクを更新するのは,実行できるタスクがなかった場合
     256 *  と,p_tcbの優先度が最高優先順位のタスクの優先度よりも高い場合であ
     257 *  る.
    266258 */
    267259#ifdef TOPPERS_tskrun
     
    285277
    286278/*
    287  *  ŽÀs‚Å‚«‚éó‘Ô‚©‚瑼‚̏ó‘Ô‚Ö‚Ì‘JˆÚ
    288  *
    289  *  Å‚—Dæ‡ˆÊ‚̃^ƒXƒN‚ðXV‚·‚é‚̂́Cp_tcb‚ªÅ‚—Dæ‡ˆÊ‚̃^ƒXƒN‚Å
    290  *  ‚ ‚Á‚½ê‡‚Å‚ ‚éDp_tcb‚Æ“¯‚¶—Dæ“x‚̃^ƒXƒN‚ª‘¼‚É‚ ‚éê‡‚́Cp_tcb
    291  *  ‚ÌŽŸ‚̃^ƒXƒN‚ªÅ‚—Dæ‡ˆÊ‚É‚È‚éD‚»‚¤‚Å‚È‚¢ê‡‚́CƒŒƒfƒBƒLƒ
    292 [‚ð
    293  *  ƒT[ƒ`‚·‚é•K—v‚ª‚ ‚éD
     279 *  実行できる状態から他の状態への遷移
     280 *
     281 *  最高優先順位のタスクを更新するのは,p_tcbが最高優先順位のタスクで
     282 *  あった場合である.p_tcbと同じ優先度のタスクが他にある場合は,p_tcb
     283 *  の次のタスクが最高優先順位になる.そうでない場合は,レディキューを
     284 *  サーチする必要がある.
    294285 */
    295286#ifdef TOPPERS_tsknrun
     
    321312
    322313/*
    323  *  ‹xŽ~ó‘Ô‚Ö‚Ì‘JˆÚ
     314 *  休止状態への遷移
    324315 */
    325316#ifdef TOPPERS_tskdmt
     
    339330
    340331/*
    341  *  ‹xŽ~ó‘Ô‚©‚çŽÀs‚Å‚«‚éó‘Ô‚Ö‚Ì‘JˆÚ
     332 *  休止状態から実行できる状態への遷移
    342333 */
    343334#ifdef TOPPERS_tskact
     
    355346
    356347/*
    357  *  ƒ^ƒXƒN‚Ì—Dæ“x‚̕ύX
    358  *
    359  *  ƒ^ƒXƒN‚ªŽÀs‚Å‚«‚éó‘Ԃ̏ꍇ‚ɂ́CƒŒƒfƒBƒLƒ
    360 [‚Ì’†‚ł̈ʒu‚ð•ÏX‚·
    361  *  ‚éDƒIƒuƒWƒFƒNƒg‚Ì‘Ò‚¿ƒLƒ
    362 [‚Ì’†‚Å‘Ò‚¿ó‘Ô‚É‚È‚Á‚Ä‚¢‚éê‡‚ɂ́C‘Ò
    363  *  ‚¿ƒLƒ
    364 [‚Ì’†‚ł̈ʒu‚ð•ÏX‚·‚éD
    365  *
    366  *  Å‚—Dæ‡ˆÊ‚̃^ƒXƒN‚ðXV‚·‚é‚̂́C(1) p_tcb‚ªÅ‚—Dæ‡ˆÊ‚̃^ƒX
    367  *  ƒN‚Å‚ ‚Á‚āC‚»‚Ì—Dæ“x‚ð‰º‚°‚½ê‡C(2) p_tcb‚ªÅ‚—Dæ‡ˆÊ‚̃^ƒX
    368  *  ƒN‚Å‚Í‚È‚­C•ÏXŒã‚Ì—Dæ“x‚ªÅ‚—Dæ‡ˆÊ‚̃^ƒXƒN‚Ì—Dæ“x‚æ‚è‚à‚‚¢
    369  *  ê‡‚Å‚ ‚éD(1)‚̏ꍇ‚ɂ́CƒŒƒfƒBƒLƒ
    370 [‚ðƒT[ƒ`‚·‚é•K—v‚ª‚ ‚éD
     348 *  タスクの優先度の変更
     349 *
     350 *  タスクが実行できる状態の場合には,レディキューの中での位置を変更す
     351 *  る.オブジェクトの待ちキューの中で待ち状態になっている場合には,待
     352 *  ちキューの中での位置を変更する.
     353 *
     354 *  最高優先順位のタスクを更新するのは,(1) p_tcbが最高優先順位のタス
     355 *  クであって,その優先度を下げた場合,(2) p_tcbが最高優先順位のタス
     356 *  クではなく,変更後の優先度が最高優先順位のタスクの優先度よりも高い
     357 *  場合である.(1)の場合には,レディキューをサーチする必要がある.
    371358 */
    372359#ifdef TOPPERS_tskpri
     
    382369        if (TSTAT_RUNNABLE(p_tcb->tstat)) {
    383370                /*
    384                  *  ƒ^ƒXƒN‚ªŽÀs‚Å‚«‚éó‘Ԃ̏ꍇ
     371                 *  タスクが実行できる状態の場合
    385372                 */
    386373                queue_delete(&(p_tcb->task_queue));
     
    407394                if (TSTAT_WAIT_WOBJCB(p_tcb->tstat)) {
    408395                        /*
    409                          *  ƒ^ƒXƒN‚ªC“¯ŠúE’ʐMƒIƒuƒWƒFƒNƒg‚ÌŠÇ—ƒuƒƒbƒN‚Ì‹¤’Ê•”
    410                          *  •ªiWOBJCBj‚Ì‘Ò‚¿ƒLƒ
    411 [‚ɂ‚Ȃª‚ê‚Ä‚¢‚éê‡
     396                         *  タスクが,同期・通信オブジェクトの管理ブロックの共通部
     397                         *  分(WOBJCB)の待ちキューにつながれている場合
    412398                         */
    413399                        wobj_change_priority(((WINFO_WOBJ *)(p_tcb->p_winfo))->p_wobjcb,
     
    421407
    422408/*
    423  *  ƒŒƒfƒBƒLƒ
    424 [‚̉ñ“]
    425  *
    426  *  Å‚—Dæ‡ˆÊ‚̃^ƒXƒN‚ðXV‚·‚é‚̂́CÅ‚—Dæ‡ˆÊ‚̃^ƒXƒN‚ªƒ^ƒXƒNƒL
    427  *  ƒ
    428 [‚Ì––”ö‚Ɉړ®‚µ‚½ê‡‚Å‚ ‚éD
     409 *  レディキューの回転
     410 *
     411 *  最高優先順位のタスクを更新するのは,最高優先順位のタスクがタスクキ
     412 *  ューの末尾に移動した場合である.
    429413 */
    430414#ifdef TOPPERS_tskrot
     
    450434
    451435/*
    452  *  ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‚̌ďo‚µ
    453  *
    454  *  ASPƒJ[ƒlƒ‹‚ł́Cƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ““à‚ÅCPUƒƒbƒNó‘Ô‚É‘JˆÚ‚µC
    455  *  Œ³‚̏ó‘Ô‚É–ß‚³‚¸‚ɃŠƒ^[ƒ“‚µ‚½ê‡CƒJ[ƒlƒ‹‚ªŒ³‚̏ó‘Ô‚É–ß‚·D
     436 *  タスク例外処理ルーチンの呼出し
     437 *
     438 *  ASPカーネルでは,タスク例外処理ルーチン内でCPUロック状態に遷移し,
     439 *  元の状態に戻さずにリターンした場合,カーネルが元の状態に戻す.
    456440 */
    457441#ifdef TOPPERS_tsktex
     
    486470                if (p_runtsk != p_schedtsk && dspflg) {
    487471                        /*
    488                          *  ‚±‚±‚Ådispatch‚ðŒÄ‚яo‚·ˆ—‚́C‘ŠŒÝÄ‹AŒÄo‚µ‚É‚È‚Á‚Ä
    489                          *  ‚¢‚邪Cdispatch‚ðŒÄ‚Ô‘O‚Ép_runtsk->enatex‚ðfalse‚É‚µ‚Ä
    490                          *  ‚¨‚¯‚ÎŽxá‚ª‚È‚¢D‚»‚Ì——R‚ɂ‚¢‚ẮCuTOPPERS/ASP ƒJ[
    491                          *  ƒlƒ‹ ÝŒvƒƒ‚v‚ðŽQÆ‚Ì‚±‚ƁD
     472                         *  ここでdispatchを呼び出す処理は,相互再帰呼出しになって
     473                         *  いるが,dispatchを呼ぶ前にp_runtsk->enatexをfalseにして
     474                         *  おけば支障がない.その理由については,「TOPPERS/ASP カー
     475                         *  ネル 設計メモ」を参照のこと.
    492476                         */
    493477                        dispatch();
     
    498482
    499483/*
    500  *  ƒ^ƒXƒN—áŠOˆ—ƒ‹[ƒ`ƒ“‚Ì‹N“®
     484 *  タスク例外処理ルーチンの起動
    501485 */
    502486#ifndef OMIT_CALLTEX
Note: See TracChangeset for help on using the changeset viewer.