diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-17 12:52:17 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-02-17 12:52:17 +0100 |
commit | 2e71aa41965e175203d9dcd8fb00fe5104d0c737 (patch) | |
tree | 2c946ae804a05d6892ac085b63f058ce26b86fe1 | |
parent | score: Avoid unused variable warnings (diff) | |
download | rtems-2e71aa41965e175203d9dcd8fb00fe5104d0c737.tar.bz2 |
score: Simplify _Watchdog_Tick()
Move thread dispatch disable check to legacy rtems_clock_tick(). Assert
that thread dispatching is disabled in _Watchdog_Tick(). This is
usually the case, since this function is called in interrupt context by
the clock tick service routine.
-rw-r--r-- | cpukit/rtems/src/clocktick.c | 5 | ||||
-rw-r--r-- | cpukit/score/src/watchdogtick.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/cpukit/rtems/src/clocktick.c b/cpukit/rtems/src/clocktick.c index a6bf26d1a4..df8012e017 100644 --- a/cpukit/rtems/src/clocktick.c +++ b/cpukit/rtems/src/clocktick.c @@ -20,6 +20,7 @@ #include <rtems/rtems/clock.h> #include <rtems/score/timecounter.h> +#include <rtems/score/threadimpl.h> rtems_status_code rtems_clock_tick( void ) { @@ -32,5 +33,9 @@ rtems_status_code rtems_clock_tick( void ) &lock_context ); + if ( _Thread_Dispatch_is_enabled() ) { + _Thread_Dispatch(); + } + return RTEMS_SUCCESSFUL; } diff --git a/cpukit/score/src/watchdogtick.c b/cpukit/score/src/watchdogtick.c index b9bc3f7a9c..cb68ea2f02 100644 --- a/cpukit/score/src/watchdogtick.c +++ b/cpukit/score/src/watchdogtick.c @@ -12,8 +12,9 @@ * http://www.rtems.org/license/LICENSE. */ +#include <rtems/score/assert.h> #include <rtems/score/schedulerimpl.h> -#include <rtems/score/threadimpl.h> +#include <rtems/score/threaddispatch.h> #include <rtems/score/todimpl.h> #include <rtems/score/watchdogimpl.h> @@ -23,12 +24,11 @@ void _Watchdog_Tick( void ) { + _Assert( !_Thread_Dispatch_is_enabled() ); + _TOD_Tickle_ticks(); _Watchdog_Tickle_ticks(); _Scheduler_Tick(); - - if ( _Thread_Dispatch_is_enabled() ) - _Thread_Dispatch(); } |