diff options
author | Bill Fischofer <bill.fischofer@linaro.org> | 2015-09-03 10:16:36 -0500 |
---|---|---|
committer | Maxim Uvarov <maxim.uvarov@linaro.org> | 2015-09-03 19:29:17 +0300 |
commit | abd9fbfe42d90f49be62c0d89d9b1ea66bac47ad (patch) | |
tree | 0e94a1cdda9b2ce50aaed8c773184c89fb552ad8 /platform/linux-generic | |
parent | 563f74c6a4e931b9b4f9f6b3b8fd83ecc08eed51 (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.c | 6 |
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: |