Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/kernel/task_manage.c

    r321 r429  
    66 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    77 *                              Toyohashi Univ. of Technology, JAPAN
    8  *  Copyright (C) 2005-2017 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2005-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
     
    126126#ifdef TOPPERS_acre_tsk
    127127
    128 #ifndef TARGET_MIN_STKSZ
    129 #define TARGET_MIN_STKSZ        1U              /* 未定義の場合は0でないことをチェック */
    130 #endif /* TARGET_MIN_STKSZ */
    131 
    132128ER_UINT
    133129acre_tsk(const T_CTSK *pk_ctsk)
     
    151147        stk = pk_ctsk->stk;
    152148
    153         CHECK_RSATR(tskatr, TA_ACT|TA_NOACTQUE|TARGET_TSKATR);
     149        CHECK_VALIDATR(tskatr, TA_ACT|TA_NOACTQUE|TARGET_TSKATR);
    154150        CHECK_PAR(FUNC_ALIGN(task));
    155151        CHECK_PAR(FUNC_NONNULL(task));
     
    168164                if (stk == NULL) {
    169165                        stksz = ROUND_STK_T(stksz);
    170                         stk = kernel_malloc(stksz);
     166                        stk = malloc_mpk(stksz);
    171167                        tskatr |= TA_MEMALLOC;
    172168                }
     
    189185
    190186                        p_tcb->actque = false;
     187                        p_tcb->p_lastmtx = NULL;
    191188                        make_dormant(p_tcb);
    192189                        if ((p_tcb->p_tinib->tskatr & TA_ACT) != 0U) {
    193190                                make_active(p_tcb);
     191                                if (p_runtsk != p_schedtsk) {
     192                                        dispatch();
     193                                }
    194194                        }
    195195                        ercd = TSKID(p_tcb);
     
    235235#else /* USE_TSKINICTXB */
    236236                if ((p_tinib->tskatr & TA_MEMALLOC) != 0U) {    /*[NGKI1109]*/
    237                         kernel_free(p_tinib->stk);
     237                        free_mpk(p_tinib->stk);
    238238                }
    239239#endif /* USE_TSKINICTXB */
     
    283283                        }
    284284                        else {
    285                                 request_dispatch();
     285                                request_dispatch_retint();
    286286                        }
    287287                }
     
    423423        }
    424424        if (tskpri == TPRI_INI) {
     425                /*
     426                 *  以下の代入文は,対象タスクが未登録の場合に無効なフィールド
     427                 *  を参照するが,その場合はnewbpriの値を使わないので,問題な
     428                 *  い.
     429                 */
    425430                newbpri = p_tcb->p_tinib->ipriority;    /*[NGKI1199]*/
    426431        }
Note: See TracChangeset for help on using the changeset viewer.