eventdev/eth_rx: fix telemetry Rx stats reset
[dpdk.git] / examples / eventdev_pipeline / main.c
index 9982d5b..3dbef6e 100644 (file)
@@ -313,7 +313,6 @@ static void
 signal_handler(int signum)
 {
        static uint8_t once;
-       uint16_t portid;
 
        if (fdata->done)
                rte_exit(1, "Exiting on signal %d\n", signum);
@@ -324,17 +323,6 @@ signal_handler(int signum)
                        rte_event_dev_dump(0, stdout);
                once = 1;
                fdata->done = 1;
-               rte_smp_wmb();
-
-               RTE_ETH_FOREACH_DEV(portid) {
-                       rte_event_eth_rx_adapter_stop(portid);
-                       rte_event_eth_tx_adapter_stop(portid);
-                       if (rte_eth_dev_stop(portid) < 0)
-                               printf("Failed to stop port %u", portid);
-               }
-
-               rte_eal_mp_wait_lcore();
-
        }
        if (signum == SIGTSTP)
                rte_event_dev_dump(0, stdout);
@@ -485,6 +473,10 @@ main(int argc, char **argv)
        }
 
        RTE_ETH_FOREACH_DEV(portid) {
+               rte_event_eth_rx_adapter_stop(portid);
+               rte_event_eth_tx_adapter_stop(portid);
+               if (rte_eth_dev_stop(portid) < 0)
+                       printf("Failed to stop port %u", portid);
                rte_eth_dev_close(portid);
        }