[rtems commit] rtems: rtems_rate_monotonic_postponed_job_count()

Sebastian Huber sebh at rtems.org
Tue Jan 24 14:05:45 UTC 2017


Module:    rtems
Branch:    master
Commit:    b8d6eb719ad016b8e0a7752619a5004960b9711d
Changeset: http://git.rtems.org/rtems/commit/?id=b8d6eb719ad016b8e0a7752619a5004960b9711d

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Jan 24 15:05:22 2017 +0100

rtems: rtems_rate_monotonic_postponed_job_count()

Use proper locking in SMP configurations.

Update #2795.

---

 cpukit/rtems/src/ratemonperiod.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/cpukit/rtems/src/ratemonperiod.c b/cpukit/rtems/src/ratemonperiod.c
index d4746cb..97547e2 100644
--- a/cpukit/rtems/src/ratemonperiod.c
+++ b/cpukit/rtems/src/ratemonperiod.c
@@ -302,22 +302,17 @@ static rtems_status_code _Rate_monotonic_Block_while_expired(
   return RTEMS_TIMEOUT;
 }
 
-/*
- * This helper function is prepared for run-time monitoring.
- */
-uint32_t rtems_rate_monotonic_postponed_job_count(
-    rtems_id   period_id
-)
+uint32_t rtems_rate_monotonic_postponed_job_count( rtems_id period_id )
 {
-  Rate_monotonic_Control             *the_period;
-  ISR_lock_Context                    lock_context;
-  Thread_Control                     *owner;
+  Rate_monotonic_Control *the_period;
+  ISR_lock_Context        lock_context;
+  uint32_t                jobs;
 
   the_period = _Rate_monotonic_Get( period_id, &lock_context );
   _Assert( the_period != NULL );
-  uint32_t jobs = the_period->postponed_jobs;
-  owner = the_period->owner;
-  _Rate_monotonic_Release( owner, &lock_context );
+
+  jobs = the_period->postponed_jobs;
+  _Rate_monotonic_Release( the_period, &lock_context );
   return jobs;
 }
 



More information about the vc mailing list