summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/clocktick.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src/clocktick.c')
-rw-r--r--cpukit/rtems/src/clocktick.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpukit/rtems/src/clocktick.c b/cpukit/rtems/src/clocktick.c
index 77a06d0867..881ee1b61d 100644
--- a/cpukit/rtems/src/clocktick.c
+++ b/cpukit/rtems/src/clocktick.c
@@ -26,15 +26,23 @@
rtems_status_code rtems_clock_tick( void )
{
+#if defined( RTEMS_SMP )
+ _Thread_Disable_dispatch();
+#endif
+
_TOD_Tickle_ticks();
_Watchdog_Tickle_ticks();
_Scheduler_Tick();
+#if defined( RTEMS_SMP )
+ _Thread_Enable_dispatch();
+#else
if ( _Thread_Is_context_switch_necessary() &&
_Thread_Dispatch_is_enabled() )
_Thread_Dispatch();
+#endif
return RTEMS_SUCCESSFUL;
}