diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-17 15:05:56 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-18 09:58:57 +0200 |
commit | 9728ef357fbc3eada1c503f9218778ac445042a5 (patch) | |
tree | 443cd71b8e7ef7efc95631592af86e610fc1238a /cpukit/posix/include | |
parent | rtems: Convert to inline functions (diff) | |
download | rtems-9728ef357fbc3eada1c503f9218778ac445042a5.tar.bz2 |
posix: Convert to inline function
Diffstat (limited to 'cpukit/posix/include')
-rw-r--r-- | cpukit/posix/include/rtems/posix/muteximpl.h | 20 |
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 |