[message] add destructors for MessageQueue and PriorityQueue (#11550)

This commit adds destructors for `MessageQueue` and `PriorityQueue`.
This ensures that allocated `Message` instances in different queues
are freed when the `ot::Instance` is destroyed.
This commit is contained in:
Abtin Keshavarzian
2025-05-30 14:06:26 -07:00
committed by GitHub
parent 2bc5eec091
commit de0739239b
+16 -2
View File
@@ -1569,7 +1569,7 @@ private:
/**
* Implements a message queue.
*/
class MessageQueue : public otMessageQueue
class MessageQueue : public otMessageQueue, private NonCopyable
{
friend class Message;
friend class PriorityQueue;
@@ -1592,6 +1592,13 @@ public:
*/
MessageQueue(void) { SetTail(nullptr); }
#if OPENTHREAD_PLATFORM_NEXUS
/**
* Destructor of `MessageQueue`.
*/
~MessageQueue(void) { DequeueAndFreeAll(); }
#endif
/**
* Returns a pointer to the first message.
*
@@ -1678,7 +1685,7 @@ private:
/**
* Implements a priority queue.
*/
class PriorityQueue : private Clearable<PriorityQueue>
class PriorityQueue : private Clearable<PriorityQueue>, private NonCopyable
{
friend class Message;
friend class MessageQueue;
@@ -1693,6 +1700,13 @@ public:
*/
PriorityQueue(void) { Clear(); }
#if OPENTHREAD_PLATFORM_NEXUS
/**
* Destructor of `PriorityQueue`.
*/
~PriorityQueue(void) { DequeueAndFreeAll(); }
#endif
/**
* Returns a pointer to the first message.
*