diff options
-rw-r--r-- | c/src/exec/posix/src/mqueuedeletesupp.c | 6 | ||||
-rw-r--r-- | cpukit/posix/src/mqueuedeletesupp.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/mqueuedeletesupp.c b/c/src/exec/posix/src/mqueuedeletesupp.c index 9fa76dc7d9..42c77b131a 100644 --- a/c/src/exec/posix/src/mqueuedeletesupp.c +++ b/c/src/exec/posix/src/mqueuedeletesupp.c @@ -38,6 +38,12 @@ void _POSIX_Message_queue_Delete( ) { if ( !the_mq->linked && !the_mq->open_count ) { + _Objects_Close( &_POSIX_Message_queue_Information, &the_mq->Object ); + + _CORE_message_queue_Flush( + &the_mq->Message_queue + ); + _POSIX_Message_queue_Free( the_mq ); #if defined(RTEMS_MULTIPROCESSING) diff --git a/cpukit/posix/src/mqueuedeletesupp.c b/cpukit/posix/src/mqueuedeletesupp.c index 9fa76dc7d9..42c77b131a 100644 --- a/cpukit/posix/src/mqueuedeletesupp.c +++ b/cpukit/posix/src/mqueuedeletesupp.c @@ -38,6 +38,12 @@ void _POSIX_Message_queue_Delete( ) { if ( !the_mq->linked && !the_mq->open_count ) { + _Objects_Close( &_POSIX_Message_queue_Information, &the_mq->Object ); + + _CORE_message_queue_Flush( + &the_mq->Message_queue + ); + _POSIX_Message_queue_Free( the_mq ); #if defined(RTEMS_MULTIPROCESSING) |