diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/posix/src/mutexlocksupp.c | 7 | ||||
-rw-r--r-- | cpukit/posix/src/mutexlocksupp.c | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/c/src/exec/posix/src/mutexlocksupp.c b/c/src/exec/posix/src/mutexlocksupp.c index 843156c331..205fa43c8e 100644 --- a/c/src/exec/posix/src/mutexlocksupp.c +++ b/c/src/exec/posix/src/mutexlocksupp.c @@ -32,8 +32,9 @@ int _POSIX_Mutex_Lock_support( { register POSIX_Mutex_Control *the_mutex; Objects_Locations location; + ISR_Level level; - the_mutex = _POSIX_Mutex_Get( mutex, &location ); + the_mutex = _POSIX_Mutex_Get_interrupt_disable( mutex, &location, &level ); switch ( location ) { case OBJECTS_REMOTE: #if defined(RTEMS_MULTIPROCESSING) @@ -51,9 +52,9 @@ int _POSIX_Mutex_Lock_support( &the_mutex->Mutex, the_mutex->Object.id, blocking, - timeout + timeout, + level ); - _Thread_Enable_dispatch(); return _POSIX_Mutex_From_core_mutex_status( (CORE_mutex_Status) _Thread_Executing->Wait.return_code ); diff --git a/cpukit/posix/src/mutexlocksupp.c b/cpukit/posix/src/mutexlocksupp.c index 843156c331..205fa43c8e 100644 --- a/cpukit/posix/src/mutexlocksupp.c +++ b/cpukit/posix/src/mutexlocksupp.c @@ -32,8 +32,9 @@ int _POSIX_Mutex_Lock_support( { register POSIX_Mutex_Control *the_mutex; Objects_Locations location; + ISR_Level level; - the_mutex = _POSIX_Mutex_Get( mutex, &location ); + the_mutex = _POSIX_Mutex_Get_interrupt_disable( mutex, &location, &level ); switch ( location ) { case OBJECTS_REMOTE: #if defined(RTEMS_MULTIPROCESSING) @@ -51,9 +52,9 @@ int _POSIX_Mutex_Lock_support( &the_mutex->Mutex, the_mutex->Object.id, blocking, - timeout + timeout, + level ); - _Thread_Enable_dispatch(); return _POSIX_Mutex_From_core_mutex_status( (CORE_mutex_Status) _Thread_Executing->Wait.return_code ); |