mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-06-14 16:29:03 -04:00
PR feedback to eliminate early returns
This commit is contained in:
parent
e6b62d18e7
commit
8110c05629
55
portable/ThirdParty/GCC/Posix/port.c
vendored
55
portable/ThirdParty/GCC/Posix/port.c
vendored
|
@ -368,21 +368,19 @@ void vPortYield( void )
|
||||||
|
|
||||||
void vPortDisableInterrupts( void )
|
void vPortDisableInterrupts( void )
|
||||||
{
|
{
|
||||||
if( prvIsFreeRTOSThread( pthread_self() ) == pdFALSE )
|
if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
|
||||||
{
|
{
|
||||||
return;
|
pthread_sigmask(SIG_BLOCK, &xAllSignals, NULL);
|
||||||
}
|
}
|
||||||
pthread_sigmask(SIG_BLOCK, &xAllSignals, NULL);
|
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
void vPortEnableInterrupts( void )
|
void vPortEnableInterrupts( void )
|
||||||
{
|
{
|
||||||
if( prvIsFreeRTOSThread( pthread_self() ) == pdFALSE )
|
if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
|
||||||
{
|
{
|
||||||
return;
|
pthread_sigmask(SIG_UNBLOCK, &xAllSignals, NULL);
|
||||||
}
|
}
|
||||||
pthread_sigmask(SIG_UNBLOCK, &xAllSignals, NULL);
|
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -452,32 +450,31 @@ void prvSetupTimerInterrupt( void )
|
||||||
|
|
||||||
static void vPortSystemTickHandler( int sig )
|
static void vPortSystemTickHandler( int sig )
|
||||||
{
|
{
|
||||||
if( prvIsFreeRTOSThread( pthread_self() ) == pdFALSE )
|
if( prvIsFreeRTOSThread( pthread_self() ) == pdTRUE )
|
||||||
{
|
{
|
||||||
|
Thread_t * pxThreadToSuspend;
|
||||||
|
Thread_t * pxThreadToResume;
|
||||||
|
|
||||||
|
( void ) sig;
|
||||||
|
|
||||||
|
uxCriticalNesting++; /* Signals are blocked in this signal handler. */
|
||||||
|
|
||||||
|
pxThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
|
||||||
|
|
||||||
|
if( xTaskIncrementTick() != pdFALSE )
|
||||||
|
{
|
||||||
|
/* Select Next Task. */
|
||||||
|
vTaskSwitchContext();
|
||||||
|
|
||||||
|
pxThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
|
||||||
|
|
||||||
|
prvSwitchThread( pxThreadToResume, pxThreadToSuspend );
|
||||||
|
}
|
||||||
|
|
||||||
|
uxCriticalNesting--;
|
||||||
|
} else {
|
||||||
fprintf( stderr, "vPortSystemTickHandler called from non-FreeRTOS thread\n" );
|
fprintf( stderr, "vPortSystemTickHandler called from non-FreeRTOS thread\n" );
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Thread_t * pxThreadToSuspend;
|
|
||||||
Thread_t * pxThreadToResume;
|
|
||||||
|
|
||||||
( void ) sig;
|
|
||||||
|
|
||||||
uxCriticalNesting++; /* Signals are blocked in this signal handler. */
|
|
||||||
|
|
||||||
pxThreadToSuspend = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
|
|
||||||
|
|
||||||
if( xTaskIncrementTick() != pdFALSE )
|
|
||||||
{
|
|
||||||
/* Select Next Task. */
|
|
||||||
vTaskSwitchContext();
|
|
||||||
|
|
||||||
pxThreadToResume = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
|
|
||||||
|
|
||||||
prvSwitchThread( pxThreadToResume, pxThreadToSuspend );
|
|
||||||
}
|
|
||||||
|
|
||||||
uxCriticalNesting--;
|
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue