summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/mutexlocksupp.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-04-20 08:45:41 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-04-21 08:25:31 +0200
commit4db0ae8e07870d4ca23dc1b9f8097e3494fe82a2 (patch)
treee7ba3533960b935b67b152198bba713b1c4ebed2 /cpukit/posix/src/mutexlocksupp.c
parentscore: Add _ISR_lock_ISR_disable/enable() (diff)
downloadrtems-4db0ae8e07870d4ca23dc1b9f8097e3494fe82a2.tar.bz2
score: _Objects_Get_isr_disable()
Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for low-level locking. Update #2273.
Diffstat (limited to '')
-rw-r--r--cpukit/posix/src/mutexlocksupp.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cpukit/posix/src/mutexlocksupp.c b/cpukit/posix/src/mutexlocksupp.c
index 99d6454925..3678a0b942 100644
--- a/cpukit/posix/src/mutexlocksupp.c
+++ b/cpukit/posix/src/mutexlocksupp.c
@@ -43,10 +43,14 @@ int _POSIX_Mutex_Lock_support(
{
POSIX_Mutex_Control *the_mutex;
Objects_Locations location;
- ISR_Level level;
+ ISR_lock_Context lock_context;
Thread_Control *executing;
- the_mutex = _POSIX_Mutex_Get_interrupt_disable( mutex, &location, &level );
+ the_mutex = _POSIX_Mutex_Get_interrupt_disable(
+ mutex,
+ &location,
+ &lock_context
+ );
switch ( location ) {
case OBJECTS_LOCAL:
@@ -57,7 +61,7 @@ int _POSIX_Mutex_Lock_support(
the_mutex->Object.id,
blocking,
timeout,
- level
+ &lock_context
);
_Objects_Put_for_get_isr_disable( &the_mutex->Object );
return _POSIX_Mutex_Translate_core_mutex_return_code(