aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic
diff options
context:
space:
mode:
authorBill Fischofer <bill.fischofer@linaro.org>2015-09-03 10:16:36 -0500
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-09-03 19:29:17 +0300
commitabd9fbfe42d90f49be62c0d89d9b1ea66bac47ad (patch)
tree0e94a1cdda9b2ce50aaed8c773184c89fb552ad8 /platform/linux-generic
parent563f74c6a4e931b9b4f9f6b3b8fd83ecc08eed51 (diff)
linux-generic: queue: add destroy check for ordered queues
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> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform/linux-generic')
-rw-r--r--platform/linux-generic/odp_queue.c6
1 files changed, 6 insertions, 0 deletions
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: