Ensure that the reorder queue associated with ordered queues is empty
as part of odp_queue_destroy() processing

Signed-off-by: Bill Fischofer <[email protected]>
---
 platform/linux-generic/odp_queue.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/platform/linux-generic/odp_queue.c 
b/platform/linux-generic/odp_queue.c
index bc59d88..46b3371 100644
--- a/platform/linux-generic/odp_queue.c
+++ b/platform/linux-generic/odp_queue.c
@@ -274,6 +274,12 @@ int odp_queue_destroy(odp_queue_t handle)
                ODP_ERR("queue \"%s\" not empty\n", queue->s.name);
                return -1;
        }
+       if (queue_is_ordered(queue) && queue->s.reorder_head) {
+               UNLOCK(&queue->s.lock);
+               ODP_ERR("queue \"%s\" reorder queue not empty\n",
+                       queue->s.name);
+               return -1;
+       }
 
        switch (queue->s.status) {
        case QUEUE_STATUS_READY:
-- 
2.1.4

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to