Use proper teardown sequence when SIGINT is caught to prevent eventdev from going into undefined state.
Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> --- app/test-eventdev/evt_main.c | 6 +++++- app/test-eventdev/test_pipeline_common.c | 1 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/test-eventdev/evt_main.c b/app/test-eventdev/evt_main.c index 57bb94570..bc25fb386 100644 --- a/app/test-eventdev/evt_main.c +++ b/app/test-eventdev/evt_main.c @@ -25,8 +25,12 @@ signal_handler(int signum) signum); /* request all lcores to exit from the main loop */ *(int *)test->test_priv = true; - rte_wmb(); + if (test->ops.ethdev_destroy) + test->ops.ethdev_destroy(test, &opt); + + rte_event_dev_stop(opt.dev_id); + rte_wmb(); rte_eal_mp_wait_lcore(); if (test->ops.test_result) diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c index 719518ff3..70fd04517 100644 --- a/app/test-eventdev/test_pipeline_common.c +++ b/app/test-eventdev/test_pipeline_common.c @@ -476,7 +476,6 @@ pipeline_eventdev_destroy(struct evt_test *test, struct evt_options *opt) { RTE_SET_USED(test); - rte_event_dev_stop(opt->dev_id); rte_event_dev_close(opt->dev_id); } -- 2.18.0