mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Merge branch 'main' into fix-cmake-spaces
This commit is contained in:
commit
260841e855
8
portable/ThirdParty/GCC/Posix/port.c
vendored
8
portable/ThirdParty/GCC/Posix/port.c
vendored
|
@ -324,17 +324,23 @@ BaseType_t xPortStartScheduler( void )
|
|||
void vPortEndScheduler( void )
|
||||
{
|
||||
Thread_t * pxCurrentThread;
|
||||
BaseType_t xIsFreeRTOSThread;
|
||||
|
||||
/* Stop the timer tick thread. */
|
||||
xTimerTickThreadShouldRun = false;
|
||||
pthread_join( hTimerTickThread, NULL );
|
||||
|
||||
/* Check whether the current thread is a FreeRTOS thread.
|
||||
* This has to happen before the scheduler is signaled to exit
|
||||
* its loop to prevent data races on the thread key. */
|
||||
xIsFreeRTOSThread = prvIsFreeRTOSThread();
|
||||
|
||||
/* Signal the scheduler to exit its loop. */
|
||||
xSchedulerEnd = pdTRUE;
|
||||
( void ) pthread_kill( hMainThread, SIG_RESUME );
|
||||
|
||||
/* Waiting to be deleted here. */
|
||||
if( prvIsFreeRTOSThread() == pdTRUE )
|
||||
if( xIsFreeRTOSThread == pdTRUE )
|
||||
{
|
||||
pxCurrentThread = prvGetThreadFromTask( xTaskGetCurrentTaskHandle() );
|
||||
event_wait( pxCurrentThread->ev );
|
||||
|
|
Loading…
Reference in a new issue