summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/posix/src/cond.c4
-rw-r--r--cpukit/posix/src/cond.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/c/src/exec/posix/src/cond.c b/c/src/exec/posix/src/cond.c
index 89002876b5..25c175948f 100644
--- a/c/src/exec/posix/src/cond.c
+++ b/c/src/exec/posix/src/cond.c
@@ -256,8 +256,10 @@ int pthread_cond_destroy(
return EINVAL;
case OBJECTS_LOCAL:
- if ( _Thread_queue_First( &the_cond->Wait_queue ) )
+ if ( _Thread_queue_First( &the_cond->Wait_queue ) ) {
+ _Thread_Enable_dispatch();
return EBUSY;
+ }
_Objects_Close(
&_POSIX_Condition_variables_Information,
diff --git a/cpukit/posix/src/cond.c b/cpukit/posix/src/cond.c
index 89002876b5..25c175948f 100644
--- a/cpukit/posix/src/cond.c
+++ b/cpukit/posix/src/cond.c
@@ -256,8 +256,10 @@ int pthread_cond_destroy(
return EINVAL;
case OBJECTS_LOCAL:
- if ( _Thread_queue_First( &the_cond->Wait_queue ) )
+ if ( _Thread_queue_First( &the_cond->Wait_queue ) ) {
+ _Thread_Enable_dispatch();
return EBUSY;
+ }
_Objects_Close(
&_POSIX_Condition_variables_Information,