[rtems commit] rtems: Use allocator mutex for timer server

Sebastian Huber sebh at rtems.org
Tue May 4 11:08:07 UTC 2021


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

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri Apr  9 19:53:22 2021 +0200

rtems: Use allocator mutex for timer server

The allocator mutex is recursive and already used for the task creation
in rtems_timer_initiate_server().  Just use this mutex instead of the
once mutex to serialize the initialization.  This avoids a dependency on
condition variables which are not used here.

---

 cpukit/rtems/src/timerserver.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c
index 3c99493..28b77e5 100644
--- a/cpukit/rtems/src/timerserver.c
+++ b/cpukit/rtems/src/timerserver.c
@@ -24,7 +24,6 @@
 #include <rtems.h>
 #include <rtems/rtems/timerimpl.h>
 #include <rtems/rtems/tasksimpl.h>
-#include <rtems/score/onceimpl.h>
 #include <rtems/score/todimpl.h>
 
 static Timer_server_Control _Timer_server_Default;
@@ -225,11 +224,10 @@ rtems_status_code rtems_timer_initiate_server(
 )
 {
   rtems_status_code status;
-  Thread_Life_state thread_life_state;
 
-  thread_life_state = _Once_Lock();
+  _Objects_Allocator_lock();
   status = _Timer_server_Initiate( priority, stack_size, attribute_set );
-  _Once_Unlock( thread_life_state );
+  _Objects_Allocator_unlock();
 
   return status;
 }



More information about the vc mailing list