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 )
{
Thread_t * xThreadToSuspend;
Thread_t * xThreadToResume;
if( prvIsFreeRTOSThread() == pdTRUE )
{
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 );
}
}
/*-----------------------------------------------------------*/