[PATCH 5/9] posix: Convert to inline function
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Jul 17 14:18:56 UTC 2013
---
cpukit/posix/include/rtems/posix/muteximpl.h | 20 ++++++++++++++++----
cpukit/posix/src/mutextranslatereturncode.c | 22 +---------------------
2 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/cpukit/posix/include/rtems/posix/muteximpl.h b/cpukit/posix/include/rtems/posix/muteximpl.h
index d4673aa..29e93c2 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
diff --git a/cpukit/posix/src/mutextranslatereturncode.c b/cpukit/posix/src/mutextranslatereturncode.c
index aa2fb80..29069a0 100644
--- a/cpukit/posix/src/mutextranslatereturncode.c
+++ b/cpukit/posix/src/mutextranslatereturncode.c
@@ -18,14 +18,9 @@
#include "config.h"
#endif
-#include <pthread.h>
-#include <errno.h>
-
-#include <rtems/system.h>
-#include <rtems/score/coremutex.h>
#include <rtems/posix/muteximpl.h>
-static int _POSIX_Mutex_Return_codes[CORE_MUTEX_STATUS_LAST + 1] = {
+const int _POSIX_Mutex_Return_codes[CORE_MUTEX_STATUS_LAST + 1] = {
0, /* CORE_MUTEX_STATUS_SUCCESSFUL */
EBUSY, /* CORE_MUTEX_STATUS_UNSATISFIED_NOWAIT */
EDEADLK, /* CORE_MUTEX_STATUS_NESTING_NOT_ALLOWED */
@@ -37,18 +32,3 @@ static int _POSIX_Mutex_Return_codes[CORE_MUTEX_STATUS_LAST + 1] = {
#endif
EINVAL /* CORE_MUTEX_STATUS_CEILING_VIOLATED */
};
-
-
-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];
-}
--
1.7.7
More information about the devel
mailing list