From: Jeroen Domburg Date: Tue, 25 Apr 2017 09:47:25 +0000 (+0800) Subject: Assert when a new task is started on a nonexisting CPU X-Git-Tag: v2.1-rc1~145^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aaeb2bd110b3df8df2f6a2f00eacba4b76b20a61;p=esp-idf Assert when a new task is started on a nonexisting CPU --- diff --git a/components/freertos/tasks.c b/components/freertos/tasks.c index ff407d9baf..59974ef5e6 100644 --- a/components/freertos/tasks.c +++ b/components/freertos/tasks.c @@ -1044,6 +1044,11 @@ static void prvAddNewTaskToReadyList( TCB_t *pxNewTCB, TaskFunction_t pxTaskCode { TCB_t *curTCB, *tcb0, *tcb1; + /* Assure that xCoreID is valid or we'll have an out-of-bounds on pxCurrentTCB + You will assert here if e.g. you only have one CPU enabled in menuconfig and + are trying to start a task on core 1. */ + configASSERT( xCoreID == tskNO_AFFINITY || xCoreID < portNUM_PROCESSORS); + /* Ensure interrupts don't access the task lists while the lists are being updated. */ taskENTER_CRITICAL(&xTaskQueueMutex);