summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2021-04-09 19:53:22 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2021-05-04 09:37:06 +0200
commit024d4eaa2f7fabbef536dfca1f47d728e904b190 (patch)
tree4a34d92ba0b7cb3494afa9472dfebf3408d0e72b
parentd692c62dfbf834c16ef7f171ea3161b3f3fac06b (diff)
downloadrtems-024d4eaa2f7fabbef536dfca1f47d728e904b190.tar.bz2
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.
-rw-r--r--cpukit/rtems/src/timerserver.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c
index 3c994933cd..28b77e5635 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;
}