summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/coremutex.h
diff options
context:
space:
mode:
authorJennifer Averett <Jennifer.Averett@OARcorp.com>2008-01-25 20:14:45 +0000
committerJennifer Averett <Jennifer.Averett@OARcorp.com>2008-01-25 20:14:45 +0000
commit81f595760d1a5b85c7650c53957fc01fe17582c6 (patch)
treef1859c79870cc9a1aa9045dadbb584c6e57a743d /cpukit/score/include/rtems/score/coremutex.h
parent2008-01-25 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-81f595760d1a5b85c7650c53957fc01fe17582c6.tar.bz2
2008-01-25 Jennifer Averett <jennifer.averett@OARcorp.com>
* sapi/include/rtems/fatal.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/interr.h, score/inline/rtems/score/thread.inl, score/src/coremutexseize.c: Modifications to aid in full path testing.
Diffstat (limited to 'cpukit/score/include/rtems/score/coremutex.h')
-rw-r--r--cpukit/score/include/rtems/score/coremutex.h18
1 files changed, 16 insertions, 2 deletions
diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h
index f78232a0fb..5f6627f932 100644
--- a/cpukit/score/include/rtems/score/coremutex.h
+++ b/cpukit/score/include/rtems/score/coremutex.h
@@ -354,7 +354,8 @@ void _CORE_mutex_Seize_interrupt_blocking(
* * If the caller is willing to wait
* then they are blocked.
*/
-#define _CORE_mutex_Seize( \
+
+#define _CORE_mutex_Seize_body( \
_the_mutex, _id, _wait, _timeout, _level ) \
do { \
if ( _Thread_Dispatch_disable_level \
@@ -364,7 +365,8 @@ void _CORE_mutex_Seize_interrupt_blocking(
_Internal_error_Occurred( \
INTERNAL_ERROR_CORE, \
FALSE, \
- 18 /* called from wrong environment */); \
+ INTERNAL_ERROR_MUTEX_OBTAIN_FROM_BAD_STATE \
+ ); \
} \
if ( _CORE_mutex_Seize_interrupt_trylock( _the_mutex, &_level ) ) { \
if ( !_wait ) { \
@@ -382,6 +384,18 @@ void _CORE_mutex_Seize_interrupt_blocking(
} \
} while (0)
+#if defined(__RTEMS_DO_NOT_INLINE_CORE_MUTEX_SEIZE__)
+ void _CORE_mutex_Seize(
+ CORE_mutex_Control *_the_mutex,
+ Objects_Id _id,
+ boolean _wait,
+ Watchdog_Interval _timeout,
+ ISR_Level _level
+ );
+#else
+ #define _CORE_mutex_Seize( _the_mutex, _id, _wait, _timeout, _level ) \
+ _CORE_mutex_Seize_body( _the_mutex, _id, _wait, _timeout, _level )
+#endif
/**
* @brief Surrender the Mutex
*