@@ -264,7 +264,7 @@ BaseType_t xPortStartScheduler( void )
264
264
#else /* Linux PTHREAD library*/
265
265
hSigSetupThread = PTHREAD_ONCE_INIT ;
266
266
#endif /* __APPLE__*/
267
-
267
+
268
268
/* Restore original signal mask. */
269
269
( void ) pthread_sigmask ( SIG_SETMASK , & xSchedulerOriginalSignalMask , NULL );
270
270
@@ -382,7 +382,7 @@ static uint64_t prvGetTimeNs( void )
382
382
static void * prvTimerTickHandler ( void * arg )
383
383
{
384
384
( void ) arg ;
385
-
385
+
386
386
prvPortSetCurrentThreadName ("Scheduler timer" );
387
387
388
388
while ( xTimerTickThreadShouldRun )
@@ -420,36 +420,19 @@ static void vPortSystemTickHandler( int sig )
420
420
421
421
( void ) sig ;
422
422
423
- /* uint64_t xExpectedTicks; */
424
-
425
423
uxCriticalNesting ++ ; /* Signals are blocked in this signal handler. */
426
424
427
- #if ( configUSE_PREEMPTION == 1 )
428
- pxThreadToSuspend = prvGetThreadFromTask ( xTaskGetCurrentTaskHandle () );
429
- #endif
430
-
431
- /* Tick Increment, accounting for any lost signals or drift in
432
- * the timer. */
425
+ pxThreadToSuspend = prvGetThreadFromTask ( xTaskGetCurrentTaskHandle () );
433
426
434
- /*
435
- * Comment code to adjust timing according to full demo requirements
436
- * xExpectedTicks = (prvGetTimeNs() - prvStartTimeNs)
437
- * / (portTICK_RATE_MICROSECONDS * 1000);
438
- * do { */
439
- xTaskIncrementTick ();
440
-
441
- /* prvTickCount++;
442
- * } while (prvTickCount < xExpectedTicks);
443
- */
444
-
445
- #if ( configUSE_PREEMPTION == 1 )
427
+ if ( xTaskIncrementTick () != pdFALSE )
428
+ {
446
429
/* Select Next Task. */
447
430
vTaskSwitchContext ();
448
431
449
432
pxThreadToResume = prvGetThreadFromTask ( xTaskGetCurrentTaskHandle () );
450
433
451
434
prvSwitchThread ( pxThreadToResume , pxThreadToSuspend );
452
- #endif
435
+ }
453
436
454
437
uxCriticalNesting -- ;
455
438
}
0 commit comments