POSIX Simulator: Don't yield non-FreeRTOS threads

This commit is contained in:
John Boiles 2025-02-05 16:59:46 -08:00
parent 0f7edaff73
commit 3973fc64a9

View file

@ -365,16 +365,19 @@ void vPortExitCritical( void )
static void prvPortYieldFromISR( void ) static void prvPortYieldFromISR( void )
{ {
Thread_t * xThreadToSuspend; if( prvIsFreeRTOSThread() == pdTRUE )
Thread_t * xThreadToResume; {
Thread_t * xThreadToSuspend;
Thread_t * xThreadToResume;
xThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() ); xThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
vTaskSwitchContext(); vTaskSwitchContext();
xThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() ); xThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
prvSwitchThread( xThreadToResume, xThreadToSuspend ); prvSwitchThread( xThreadToResume, xThreadToSuspend );
}
} }
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/