summaryrefslogtreecommitdiffstats
path: root/c/src/exec/score/src/coremutexsurrender.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/exec/score/src/coremutexsurrender.c')
-rw-r--r--c/src/exec/score/src/coremutexsurrender.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/c/src/exec/score/src/coremutexsurrender.c b/c/src/exec/score/src/coremutexsurrender.c
index 7f5fc2e911..447a5421e8 100644
--- a/c/src/exec/score/src/coremutexsurrender.c
+++ b/c/src/exec/score/src/coremutexsurrender.c
@@ -84,8 +84,11 @@ CORE_mutex_Status _CORE_mutex_Surrender(
the_mutex->nest_count--;
- if ( the_mutex->nest_count != 0 )
+ if ( the_mutex->nest_count != 0 ) {
+ if ( the_mutex->Attributes.allow_nesting )
+ return( CORE_MUTEX_STATUS_SUCCESSFUL );
return( CORE_MUTEX_STATUS_NESTING_NOT_ALLOWED );
+ }
_Thread_Executing->resource_count--;
the_mutex->holder = NULL;