| 2222 | #if ( configUSE_CORE_AFFINITY == 1 ) |
| 2223 | |
| 2224 | void vTaskCoreAffinitySet( const TaskHandle_t xTask, |
| 2225 | UBaseType_t uxCoreAffinityMask ) |
| 2226 | { |
| 2227 | TCB_t * pxTCB; |
| 2228 | BaseType_t xCoreID; |
| 2229 | |
| 2230 | taskENTER_CRITICAL(); |
| 2231 | { |
| 2232 | pxTCB = prvGetTCBFromHandle( xTask ); |
| 2233 | |
| 2234 | pxTCB->uxCoreAffinityMask = uxCoreAffinityMask; |
| 2235 | |
| 2236 | if( xSchedulerRunning != pdFALSE ) |
| 2237 | { |
| 2238 | if( taskTASK_IS_RUNNING( pxTCB->xTaskRunState ) ) |
| 2239 | { |
| 2240 | xCoreID = ( BaseType_t ) pxTCB->xTaskRunState; |
| 2241 | |
| 2242 | if( ( uxCoreAffinityMask & ( 1 << xCoreID ) ) == 0 ) |
| 2243 | { |
| 2244 | prvYieldCore( xCoreID ); |
| 2245 | } |
| 2246 | } |
| 2247 | } |
| 2248 | } |
| 2249 | taskEXIT_CRITICAL(); |
| 2250 | } |
| 2251 | |
| 2252 | #endif /* configUSE_CORE_AFFINITY */ |
| 2253 | #endif /* if ( configNUM_CORES > 1 ) */ |
nothing calls this directly
no test coverage detected