summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
Diffstat (limited to 'c')
-rw-r--r--c/src/exec/score/src/coremutex.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/c/src/exec/score/src/coremutex.c b/c/src/exec/score/src/coremutex.c
index 08d1630b7f..a0c3fd0264 100644
--- a/c/src/exec/score/src/coremutex.c
+++ b/c/src/exec/score/src/coremutex.c
@@ -122,12 +122,6 @@ void _CORE_mutex_Seize(
return;
}
- if ( !wait ) {
- _ISR_Enable( level );
- executing->Wait.return_code = CORE_MUTEX_STATUS_UNSATISFIED_NOWAIT;
- return;
- }
-
if ( _Objects_Are_ids_equal(
_Thread_Executing->Object.id, the_mutex->holder_id ) ) {
if ( _CORE_mutex_Is_nesting_allowed( &the_mutex->Attributes ) )
@@ -139,6 +133,12 @@ void _CORE_mutex_Seize(
return;
}
+ if ( !wait ) {
+ _ISR_Enable( level );
+ executing->Wait.return_code = CORE_MUTEX_STATUS_UNSATISFIED_NOWAIT;
+ return;
+ }
+
_Thread_queue_Enter_critical_section( &the_mutex->Wait_queue );
executing->Wait.queue = &the_mutex->Wait_queue;
executing->Wait.id = id;