[rtems commit] rtems: Fix _Rate_monotonic_Release_postponed_job()
Sebastian Huber
sebh at rtems.org
Tue Jan 24 14:04:51 UTC 2017
Module: rtems
Branch: master
Commit: 625bd6aca47268bc21cfa38662ebc17413475e82
Changeset: http://git.rtems.org/rtems/commit/?id=625bd6aca47268bc21cfa38662ebc17413475e82
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Tue Jan 24 15:04:11 2017 +0100
rtems: Fix _Rate_monotonic_Release_postponed_job()
Use proper locking in SMP configurations.
Update #2795.
---
cpukit/rtems/src/ratemonperiod.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c
index a4d224f..d4746cb 100644
--- a/cpukit/rtems/src/ratemonperiod.c
+++ b/cpukit/rtems/src/ratemonperiod.c
@@ -71,13 +71,10 @@ static void _Rate_monotonic_Release_postponed_job(
ISR_lock_Context *lock_context
)
{
- /* This function only releases the postponed jobs. */
- Per_CPU_Control *cpu_self;
+ Per_CPU_Control *cpu_self;
Thread_queue_Context queue_context;
- cpu_self = _Thread_Dispatch_disable_critical( lock_context );
- _Rate_monotonic_Release( owner, lock_context );
- the_period->postponed_jobs -=1;
+ --the_period->postponed_jobs;
_Scheduler_Release_job(
owner,
&the_period->Priority,
@@ -85,6 +82,7 @@ static void _Rate_monotonic_Release_postponed_job(
&queue_context
);
+ cpu_self = _Thread_Dispatch_disable_critical( lock_context );
_Rate_monotonic_Release( the_period, lock_context );
_Thread_Priority_update( &queue_context );
_Thread_Dispatch_enable( cpu_self );
More information about the vc
mailing list