summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/muteximpl.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-17 15:05:56 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-18 09:58:57 +0200
commit9728ef357fbc3eada1c503f9218778ac445042a5 (patch)
tree443cd71b8e7ef7efc95631592af86e610fc1238a /cpukit/posix/include/rtems/posix/muteximpl.h
parentrtems: Convert to inline functions (diff)
downloadrtems-9728ef357fbc3eada1c503f9218778ac445042a5.tar.bz2
posix: Convert to inline function
Diffstat (limited to 'cpukit/posix/include/rtems/posix/muteximpl.h')
-rw-r--r--cpukit/posix/include/rtems/posix/muteximpl.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/cpukit/posix/include/rtems/posix/muteximpl.h b/cpukit/posix/include/rtems/posix/muteximpl.h
index d4673aa461..29e93c2af5 100644
--- a/cpukit/posix/include/rtems/posix/muteximpl.h
+++ b/cpukit/posix/include/rtems/posix/muteximpl.h
@@ -18,6 +18,8 @@
#include <rtems/posix/mutex.h>
#include <rtems/score/coremuteximpl.h>
+#include <errno.h>
+
#ifndef _RTEMS_POSIX_MUTEXIMPL_H
#define _RTEMS_POSIX_MUTEXIMPL_H
@@ -38,6 +40,8 @@ POSIX_EXTERN Objects_Information _POSIX_Mutex_Information;
POSIX_EXTERN pthread_mutexattr_t _POSIX_Mutex_Default_attributes;
+extern const int _POSIX_Mutex_Return_codes[CORE_MUTEX_STATUS_LAST + 1];
+
/*
* @brief POSIX Mutex Manager Initialization
*
@@ -144,11 +148,19 @@ int _POSIX_Mutex_Lock_support(
* willing to block but the operation was unable to complete within the time
* allotted because the resource never became available.
*/
-
-int _POSIX_Mutex_Translate_core_mutex_return_code(
+RTEMS_INLINE_ROUTINE int _POSIX_Mutex_Translate_core_mutex_return_code(
CORE_mutex_Status the_mutex_status
-);
-
+)
+{
+ /*
+ * Internal consistency check for bad status from SuperCore
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( the_mutex_status > CORE_MUTEX_STATUS_LAST )
+ return EINVAL;
+ #endif
+ return _POSIX_Mutex_Return_codes[the_mutex_status];
+}
/*
* _POSIX_Mutex_Get