This seems to be necessary only for linux-generic; SCHED type queues are
not marked as free in odp_queue_destroy, they need to be processed by the
scheduler so that the internal priority queues also get drained.

Signed-off-by: Ciprian Barbu <[email protected]>
---
 test/validation/odp_schedule.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/test/validation/odp_schedule.c b/test/validation/odp_schedule.c
index b86f997..169c79e 100644
--- a/test/validation/odp_schedule.c
+++ b/test/validation/odp_schedule.c
@@ -645,6 +645,11 @@ static int destroy_queues(void)
        for (i = 0; i < prios; i++) {
                for (j = 0; j < QUEUES_PER_PRIO; j++) {
                        char name[32];
+                       odp_event_t ev;
+
+                       ev = odp_schedule(NULL, ODP_SCHED_NO_WAIT);
+                       if (ev != ODP_EVENT_INVALID)
+                               odp_buffer_free(odp_buffer_from_event(ev));
 
                        snprintf(name, sizeof(name), "sched_%d_%d_n", i, j);
                        if (destroy_queue(name))
-- 
1.8.3.2


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

Reply via email to