summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src/ratemonperiod.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src/ratemonperiod.c')
-rw-r--r--cpukit/rtems/src/ratemonperiod.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c
index 1a1373117b..771f9c15ab 100644
--- a/cpukit/rtems/src/ratemonperiod.c
+++ b/cpukit/rtems/src/ratemonperiod.c
@@ -71,20 +71,21 @@ static void _Rate_monotonic_Release_job(
)
{
Per_CPU_Control *cpu_self;
+ uint64_t deadline;
cpu_self = _Thread_Dispatch_disable_critical( lock_context );
_Rate_monotonic_Release( owner, lock_context );
- _Scheduler_Release_job( owner, next_length );
-
_ISR_lock_ISR_disable( lock_context );
- _Watchdog_Per_CPU_insert_relative(
+ deadline = _Watchdog_Per_CPU_insert_relative(
&the_period->Timer,
cpu_self,
next_length
);
_ISR_lock_ISR_enable( lock_context );
+ _Scheduler_Release_job( owner, deadline );
+
_Thread_Dispatch_enable( cpu_self );
}