Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/kernel/task_term.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    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 è²¬ã™ã‚‹ã“と.
     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 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              タスク終了機能
     44 *              タスク終了機能
    6045 */
    6146
     
    6752
    6853/*
    69  *  トレースログマクロのデフォルト定義
     54 *  トレースログマクロのデフォルト定義
    7055 */
    7156#ifndef LOG_EXT_TSK_ENTER
     
    118103
    119104/*
    120  *  自タスクの終了[NGKI1162ï¼½
     105 *  自タスクの終了[NGKI1162]
    121106 */
    122107#ifdef TOPPERS_ext_tsk
     
    129114
    130115        LOG_EXT_TSK_ENTER();
    131         CHECK_TSKCTX();                                                 /*ï¼»NGKI1164ï¼½*/
     116        CHECK_TSKCTX();                                                 /*[NGKI1164]*/
    132117
    133118        if (sense_lock()) {
    134119                /*
    135                  *  CPUロック状æ
    136 ‹ã§ext_tskが呼ばれた場合は,CPUロックを解除し
    137                  *  てからタスクを終了する.実è£
    138 ä¸Šã¯ï¼Œã‚µãƒ¼ãƒ“スコールå†
    139 ã§ã®CPU
    140                  *  ロックを省略すればよいだけ.[NGKI1168ï¼½
     120                 *  CPUロック状態でext_tskが呼ばれた場合は,CPUロックを解除し
     121                 *  てからタスクを終了する.実装上は,サービスコール内でのCPU
     122                 *  ロックを省略すればよいだけ.[NGKI1168]
    141123                 */
    142124        }
     
    149131                if (!enadsp) {
    150132                        /*
    151                          *  ディスパッチ禁止状æ
    152 ‹ã§ext_tskが呼ばれた場合は,ディスパッ
    153                          *  チ許可状æ
    154 ‹ã«ã—てからタスクを終了する.[NGKI1168ï¼½
     133                         *  ディスパッチ禁止状態でext_tskが呼ばれた場合は,ディスパッ
     134                         *  チ許可状態にしてからタスクを終了する.[NGKI1168]
    155135                         */
    156136                        enadsp = true;
     
    158138                if (intpri != TIPM_ENAALL) {
    159139                        /*
    160                          *  割込み優å
    161 ˆåº¦ãƒžã‚¹ã‚¯ï¼ˆIPM)がTIPM_ENAALL以外の状æ
    162 ‹ã§
    163                          *  ext_tskが呼ばれた場合は,IPMをTIPM_ENAALLにしてからタス
    164                          *  クを終了する.[NGKI1168ï¼½
     140                         *  割込み優先度マスク(IPM)がTIPM_ENAALL以外の状態で
     141                         *  ext_tskが呼ばれた場合は,IPMをTIPM_ENAALLにしてからタス
     142                         *  クを終了する.[NGKI1168]
    165143                         */
    166144                        t_set_ipm(TIPM_ENAALL);
     
    176154        }
    177155#endif /* TOPPERS_SUPPORT_OVRHDR */
    178         task_terminate(p_runtsk);                               /* ï¼»NGKI3449ï¼½*/
    179         exit_and_dispatch();                                    /* ï¼»NGKI1169ï¼½*/
    180         ercd = E_SYS;                                                   /* ï¼»NGKI1163ï¼½*/
     156        task_terminate(p_runtsk);                               /* [NGKI3449]*/
     157        exit_and_dispatch();                                    /* [NGKI1169]*/
     158        ercd = E_SYS;                                                   /* [NGKI1163]*/
    181159
    182160  error_exit:
     
    188166
    189167/*
    190  *  タスクの終了要求[NGKI3469ï¼½
     168 *  タスクの終了要求[NGKI3469]
    191169 */
    192170#ifdef TOPPERS_ras_ter
     
    199177
    200178        LOG_RAS_TER_ENTER(tskid);
    201         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI3470][NGKI3471ï¼½*/
    202         CHECK_ID(VALID_TSKID(tskid));                           /*ï¼»NGKI3472ï¼½*/
     179        CHECK_TSKCTX_UNL();                                                     /*[NGKI3470][NGKI3471]*/
     180        CHECK_ID(VALID_TSKID(tskid));                           /*[NGKI3472]*/
    203181        p_tcb = get_tcb(tskid);
    204         CHECK_ILUSE(p_tcb != p_runtsk);                         /*ï¼»NGKI3475ï¼½*/
     182        CHECK_ILUSE(p_tcb != p_runtsk);                         /*[NGKI3475]*/
    205183
    206184        lock_cpu();
    207185        if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
    208                 ercd = E_NOEXS;                                                 /*ï¼»NGKI3473ï¼½*/
     186                ercd = E_NOEXS;                                                 /*[NGKI3473]*/
    209187        }
    210188        else if (TSTAT_DORMANT(p_tcb->tstat)) {
    211                 ercd = E_OBJ;                                                   /*ï¼»NGKI3476ï¼½*/
     189                ercd = E_OBJ;                                                   /*[NGKI3476]*/
    212190        }
    213191        else if (p_tcb->enater) {
    214                 task_terminate(p_tcb);                                  /*ï¼»NGKI3477ï¼½*/
     192                task_terminate(p_tcb);                                  /*[NGKI3477]*/
    215193                if (p_runtsk != p_schedtsk) {
    216194                        dispatch();
     
    219197        }
    220198        else {
    221                 p_tcb->raster = true;                                   /*ï¼»NGKI3478ï¼½*/
     199                p_tcb->raster = true;                                   /*[NGKI3478]*/
    222200                if (!TSTAT_RUNNABLE(p_tcb->tstat)) {
    223201                        if (TSTAT_WAITING(p_tcb->tstat)) {
    224                                 wait_dequeue_wobj(p_tcb);               /*ï¼»NGKI3479ï¼½*/
     202                                wait_dequeue_wobj(p_tcb);               /*[NGKI3479]*/
    225203                                wait_dequeue_tmevtb(p_tcb);
    226                                 p_tcb->p_winfo->wercd = E_RASTER;       /*ï¼»NGKI3480ï¼½*/
     204                                p_tcb->p_winfo->wercd = E_RASTER;       /*[NGKI3480]*/
    227205                        }
    228                         p_tcb->tstat = TS_RUNNABLE;                     /*ï¼»NGKI3606ï¼½*/
     206                        p_tcb->tstat = TS_RUNNABLE;                     /*[NGKI3606]*/
    229207                        LOG_TSKSTAT(p_tcb);
    230208                        make_runnable(p_tcb);
     
    245223
    246224/*
    247  *  タスク終了の禁止[NGKI3482ï¼½
     225 *  タスク終了の禁止[NGKI3482]
    248226 */
    249227#ifdef TOPPERS_dis_ter
     
    255233
    256234        LOG_DIS_TER_ENTER();
    257         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI3483][NGKI3484ï¼½*/
     235        CHECK_TSKCTX_UNL();                                                     /*[NGKI3483][NGKI3484]*/
    258236
    259237        lock_cpu();
    260         p_runtsk->enater = false;                                       /*ï¼»NGKI3486ï¼½*/
     238        p_runtsk->enater = false;                                       /*[NGKI3486]*/
    261239        ercd = E_OK;
    262240        unlock_cpu();
     
    270248
    271249/*
    272  *  タスク終了の許可[NGKI3487ï¼½
     250 *  タスク終了の許可[NGKI3487]
    273251 */
    274252#ifdef TOPPERS_ena_ter
     
    280258
    281259        LOG_ENA_TER_ENTER();
    282         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI3488][NGKI3489ï¼½*/
     260        CHECK_TSKCTX_UNL();                                                     /*[NGKI3488][NGKI3489]*/
    283261
    284262        lock_cpu();
     
    295273        }
    296274        else {
    297                 p_runtsk->enater = true;                                /*ï¼»NGKI3491ï¼½*/
     275                p_runtsk->enater = true;                                /*[NGKI3491]*/
    298276                ercd = E_OK;
    299277        }
     
    308286
    309287/*
    310  *  タスク終了禁止状æ
    311 ‹ã®å‚ç
    312 §ï¼»NGKI3494ï¼½
     288 *  タスク終了禁止状態の参照[NGKI3494]
    313289 */
    314290#ifdef TOPPERS_sns_ter
     
    321297        LOG_SNS_TER_ENTER();
    322298        /*
    323          *  enaterを変更できるのは自タスクのみであるため,排他制御せずに読
    324          *  んでも問題ない.
     299         *  enaterを変更できるのは自タスクのみであるため,排他制御せずに読
     300         *  んでも問題ない.
    325301         */
    326302        state = (p_runtsk != NULL && p_runtsk->enater) ? false : true;
    327                                                                                                 /*ï¼»NGKI3495][NGKI3496ï¼½*/
     303                                                                                                /*[NGKI3495][NGKI3496]*/
    328304        LOG_SNS_TER_LEAVE(state);
    329305        return(state);
     
    333309
    334310/*
    335  *  タスクの強制終了[NGKI1170ï¼½
     311 *  タスクの強制終了[NGKI1170]
    336312 */
    337313#ifdef TOPPERS_ter_tsk
     
    344320
    345321        LOG_TER_TSK_ENTER(tskid);
    346         CHECK_TSKCTX_UNL();                                                     /*ï¼»NGKI1171][NGKI1172ï¼½*/
    347         CHECK_ID(VALID_TSKID(tskid));                           /*ï¼»NGKI1173ï¼½*/
     322        CHECK_TSKCTX_UNL();                                                     /*[NGKI1171][NGKI1172]*/
     323        CHECK_ID(VALID_TSKID(tskid));                           /*[NGKI1173]*/
    348324        p_tcb = get_tcb(tskid);
    349         CHECK_ILUSE(p_tcb != p_runtsk);                         /*ï¼»NGKI1176ï¼½*/
     325        CHECK_ILUSE(p_tcb != p_runtsk);                         /*[NGKI1176]*/
    350326
    351327        lock_cpu();
    352328        if (p_tcb->p_tinib->tskatr == TA_NOEXS) {
    353                 ercd = E_NOEXS;                                                 /*ï¼»NGKI1174ï¼½*/
     329                ercd = E_NOEXS;                                                 /*[NGKI1174]*/
    354330        }
    355331        else if (TSTAT_DORMANT(p_tcb->tstat)) {
    356                 ercd = E_OBJ;                                                   /*ï¼»NGKI1177ï¼½*/
     332                ercd = E_OBJ;                                                   /*[NGKI1177]*/
    357333        }
    358334        else {
    359                 task_terminate(p_tcb);                                  /*ï¼»NGKI3450ï¼½*/
     335                task_terminate(p_tcb);                                  /*[NGKI3450]*/
    360336                if (p_runtsk != p_schedtsk) {
    361337                        dispatch();
Note: See TracChangeset for help on using the changeset viewer.