diff mbox

[PATCHv2,4/8] linux-generic: queue: add destroy check for ordered queues

Message ID 1441293400-28777-5-git-send-email-bill.fischofer@linaro.org
State Accepted
Commit abd9fbfe42d90f49be62c0d89d9b1ea66bac47ad
Headers show

Commit Message

Bill Fischofer Sept. 3, 2015, 3:16 p.m. UTC
Ensure that the reorder queue associated with ordered queues is empty
as part of odp_queue_destroy() processing

Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>
---
 platform/linux-generic/odp_queue.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox

Patch

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: