diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-11-29 06:23:27 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-12-04 10:53:39 +0100 |
commit | 6c2b8a4b35536a5f99ba1ef91139485b011dafc1 (patch) | |
tree | b1ab330104094ec83051c932c4d5cb9e653a4568 /cpukit/score/src/allocatormutex.c | |
parent | ada/sp09: Fix timer server test case (diff) | |
download | rtems-6c2b8a4b35536a5f99ba1ef91139485b011dafc1.tar.bz2 |
score: Use self-contained API mutex
Use a self-contained recursive mutex for API_Mutex_Control. The API
mutexes are protected against asynchronous thread cancellation.
Add dedicated mutexes for libatomic and TOD.
Close #2629.
Close #2630.
Diffstat (limited to 'cpukit/score/src/allocatormutex.c')
-rw-r--r-- | cpukit/score/src/allocatormutex.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/cpukit/score/src/allocatormutex.c b/cpukit/score/src/allocatormutex.c new file mode 100644 index 0000000000..7f98a4008f --- /dev/null +++ b/cpukit/score/src/allocatormutex.c @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2017 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * <rtems@embedded-brains.de> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#include <rtems/score/apimutex.h> + +static API_Mutex_Control _RTEMS_Allocator_Mutex = + API_MUTEX_INITIALIZER( "_Allocator" ); + +void _RTEMS_Lock_allocator( void ) +{ + _API_Mutex_Lock( &_RTEMS_Allocator_Mutex ); +} + +void _RTEMS_Unlock_allocator( void ) +{ + _API_Mutex_Unlock( &_RTEMS_Allocator_Mutex ); +} + +bool _RTEMS_Allocator_is_owner( void ) +{ + return _API_Mutex_Is_owner( &_RTEMS_Allocator_Mutex ); +} |