From 10aa375704c148d9e90b5e984066d719f7465357 Mon Sep 17 00:00:00 2001 From: Chengchang Tang Date: Thu, 15 Apr 2021 10:26:03 +0800 Subject: [PATCH] examples: add eal cleanup to examples According to the programming guide, the rte_eal_init should be used pairs with rte_eal_cleanup. This patch add rte_eal_cleanup to examples to encourage new users of DPDK to use it. Fixes: aec9c13c5257 ("eal: add function to release internal resources") Fixes: 3d0fad56b74a ("examples/fips_validation: add crypto FIPS application") Fixes: c8e6ceecebc1 ("examples/ioat: add new sample app for ioat driver") Fixes: 4ff457986f76 ("examples/l2fwd-event: add default poll mode routines") Fixes: 08bd1a174461 ("examples/l3fwd-graph: add graph-based l3fwd skeleton") Fixes: c5eebf85badc ("examples/ntb: add example for NTB") Fixes: b77f66002812 ("examples/pipeline: add new example application") Fixes: edbed86d1cc3 ("examples/vdpa: introduce a new sample for vDPA") Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample") Fixes: f5188211c721 ("examples/vhost_crypto: add sample application") Cc: stable@dpdk.org Signed-off-by: Chengchang Tang --- examples/bbdev_app/main.c | 3 +++ examples/bond/main.c | 4 ++++ examples/cmdline/main.c | 3 +++ examples/distributor/main.c | 3 +++ examples/ethtool/ethtool-app/main.c | 3 +++ examples/fips_validation/main.c | 3 +++ examples/flow_classify/flow_classify.c | 3 +++ examples/flow_filtering/main.c | 7 ++++++- examples/helloworld/main.c | 4 ++++ examples/ioat/ioatfwd.c | 3 +++ examples/ip_fragmentation/main.c | 3 +++ examples/ip_reassembly/main.c | 3 +++ examples/ipsec-secgw/ipsec-secgw.c | 3 +++ examples/ipv4_multicast/main.c | 3 +++ examples/kni/main.c | 3 +++ examples/l2fwd-cat/l2fwd-cat.c | 3 +++ examples/l2fwd-crypto/main.c | 3 +++ examples/l2fwd-event/main.c | 3 +++ examples/l2fwd-jobstats/main.c | 3 +++ examples/l2fwd-keepalive/main.c | 4 ++++ examples/l2fwd/main.c | 3 +++ examples/l3fwd-acl/main.c | 3 +++ examples/l3fwd-graph/main.c | 3 +++ examples/l3fwd/main.c | 4 ++++ examples/link_status_interrupt/main.c | 3 +++ examples/multi_process/client_server_mp/mp_client/client.c | 3 +++ examples/multi_process/client_server_mp/mp_server/main.c | 4 ++++ examples/multi_process/simple_mp/main.c | 4 ++++ examples/multi_process/symmetric_mp/main.c | 3 +++ examples/ntb/ntb_fwd.c | 3 +++ examples/packet_ordering/main.c | 4 ++++ examples/performance-thread/l3fwd-thread/main.c | 3 +++ examples/performance-thread/pthread_shim/main.c | 4 ++++ examples/pipeline/main.c | 3 +++ examples/ptpclient/ptpclient.c | 3 +++ examples/qos_meter/main.c | 3 +++ examples/qos_sched/main.c | 3 +++ examples/rxtx_callbacks/main.c | 4 ++++ examples/server_node_efd/node/node.c | 3 +++ examples/server_node_efd/server/main.c | 4 ++++ examples/service_cores/main.c | 3 +++ examples/skeleton/basicfwd.c | 3 +++ examples/timer/main.c | 3 +++ examples/vdpa/main.c | 3 +++ examples/vhost/main.c | 4 +++- examples/vhost_blk/vhost_blk.c | 3 +++ examples/vhost_crypto/main.c | 3 +++ examples/vm_power_manager/guest_cli/main.c | 3 +++ examples/vm_power_manager/main.c | 3 +++ examples/vmdq/main.c | 3 +++ examples/vmdq_dcb/main.c | 3 +++ 51 files changed, 166 insertions(+), 2 deletions(-) diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c index 20cfd327fb..5251db0b16 100644 --- a/examples/bbdev_app/main.c +++ b/examples/bbdev_app/main.c @@ -1195,5 +1195,8 @@ main(int argc, char **argv) ret |= rte_eal_wait_lcore(lcore_id); } + /* clean up the EAL */ + rte_eal_cleanup(); + return ret; } diff --git a/examples/bond/main.c b/examples/bond/main.c index 81a6fa976b..f48400e211 100644 --- a/examples/bond/main.c +++ b/examples/bond/main.c @@ -876,5 +876,9 @@ main(int argc, char *argv[]) prompt(NULL); rte_delay_ms(100); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/cmdline/main.c b/examples/cmdline/main.c index bb79542452..94002f0582 100644 --- a/examples/cmdline/main.c +++ b/examples/cmdline/main.c @@ -36,5 +36,8 @@ int main(int argc, char **argv) cmdline_interact(cl); cmdline_stdin_exit(cl); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/distributor/main.c b/examples/distributor/main.c index caa7c46cb1..1b1029660e 100644 --- a/examples/distributor/main.c +++ b/examples/distributor/main.c @@ -932,5 +932,8 @@ main(int argc, char *argv[]) rte_free(pd); rte_free(pr); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c index c6023a1d41..21ed85c7d6 100644 --- a/examples/ethtool/ethtool-app/main.c +++ b/examples/ethtool/ethtool-app/main.c @@ -299,5 +299,8 @@ int main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c index b73691dd23..c175fe6ac2 100644 --- a/examples/fips_validation/main.c +++ b/examples/fips_validation/main.c @@ -501,6 +501,9 @@ exit: fips_test_clear(); cryptodev_fips_validate_app_uninit(); + /* clean up the EAL */ + rte_eal_cleanup(); + return ret; } diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c index 335d7d2ad8..5c3e111cfa 100644 --- a/examples/flow_classify/flow_classify.c +++ b/examples/flow_classify/flow_classify.c @@ -853,5 +853,8 @@ main(int argc, char *argv[]) /* Call lcore_main on the main core only. */ lcore_main(cls_app); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c index bc28468f17..f1940bc88d 100644 --- a/examples/flow_filtering/main.c +++ b/examples/flow_filtering/main.c @@ -258,5 +258,10 @@ main(int argc, char **argv) rte_exit(EXIT_FAILURE, "error in creating flow"); } - return main_loop(); + ret = main_loop(); + + /* clean up the EAL */ + rte_eal_cleanup(); + + return ret; } diff --git a/examples/helloworld/main.c b/examples/helloworld/main.c index 8a4cee60ff..ac72145c73 100644 --- a/examples/helloworld/main.c +++ b/examples/helloworld/main.c @@ -43,5 +43,9 @@ main(int argc, char **argv) lcore_hello(NULL); rte_eal_mp_wait_lcore(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c index 6502e4531f..845301a6db 100644 --- a/examples/ioat/ioatfwd.c +++ b/examples/ioat/ioatfwd.c @@ -1011,6 +1011,9 @@ main(int argc, char **argv) rte_ring_free(cfg.ports[i].rx_to_tx_ring); } + /* clean up the EAL */ + rte_eal_cleanup(); + printf("Bye...\n"); return 0; } diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c index 5a96841dfc..77a6a18d19 100644 --- a/examples/ip_fragmentation/main.c +++ b/examples/ip_fragmentation/main.c @@ -1075,5 +1075,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c index 954a11512a..ce8882a458 100644 --- a/examples/ip_reassembly/main.c +++ b/examples/ip_reassembly/main.c @@ -1201,5 +1201,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c index 59971dc766..a9f9b5859b 100644 --- a/examples/ipsec-secgw/ipsec-secgw.c +++ b/examples/ipsec-secgw/ipsec-secgw.c @@ -3076,6 +3076,9 @@ main(int32_t argc, char **argv) rte_eth_dev_close(portid); printf(" Done\n"); } + + /* clean up the EAL */ + rte_eal_cleanup(); printf("Bye...\n"); return 0; diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c index e18726a5d2..fd6207a18b 100644 --- a/examples/ipv4_multicast/main.c +++ b/examples/ipv4_multicast/main.c @@ -805,5 +805,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/kni/main.c b/examples/kni/main.c index fe93b8618a..beabb3c848 100644 --- a/examples/kni/main.c +++ b/examples/kni/main.c @@ -1140,5 +1140,8 @@ main(int argc, char** argv) kni_port_params_array[i] = NULL; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l2fwd-cat/l2fwd-cat.c b/examples/l2fwd-cat/l2fwd-cat.c index 2e632c5cb6..02288a3824 100644 --- a/examples/l2fwd-cat/l2fwd-cat.c +++ b/examples/l2fwd-cat/l2fwd-cat.c @@ -201,5 +201,8 @@ main(int argc, char *argv[]) /* Call lcore_main on the main core only. */ lcore_main(); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c index a957df05db..4f51616492 100644 --- a/examples/l2fwd-crypto/main.c +++ b/examples/l2fwd-crypto/main.c @@ -2835,5 +2835,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l2fwd-event/main.c b/examples/l2fwd-event/main.c index 444ee4e4db..0acfee4c92 100644 --- a/examples/l2fwd-event/main.c +++ b/examples/l2fwd-event/main.c @@ -716,6 +716,9 @@ main(int argc, char **argv) printf(" Done\n"); } } + + /* clean up the EAL */ + rte_eal_cleanup(); printf("Bye...\n"); return 0; diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c index 1151769aa9..58a722669b 100644 --- a/examples/l2fwd-jobstats/main.c +++ b/examples/l2fwd-jobstats/main.c @@ -1022,5 +1022,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c index e4c2b27933..be6616288f 100644 --- a/examples/l2fwd-keepalive/main.c +++ b/examples/l2fwd-keepalive/main.c @@ -817,5 +817,9 @@ main(int argc, char **argv) if (ka_shm != NULL) rte_keepalive_shm_cleanup(ka_shm); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c index be5bf7bc90..32d405e65a 100644 --- a/examples/l2fwd/main.c +++ b/examples/l2fwd/main.c @@ -902,6 +902,9 @@ main(int argc, char **argv) rte_eth_dev_close(portid); printf(" Done\n"); } + + /* clean up the EAL */ + rte_eal_cleanup(); printf("Bye...\n"); return ret; diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c index 4a17274379..a1f457b564 100644 --- a/examples/l3fwd-acl/main.c +++ b/examples/l3fwd-acl/main.c @@ -2258,5 +2258,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/l3fwd-graph/main.c b/examples/l3fwd-graph/main.c index 127c5e8dab..75c2e0ef3f 100644 --- a/examples/l3fwd-graph/main.c +++ b/examples/l3fwd-graph/main.c @@ -1123,6 +1123,9 @@ main(int argc, char **argv) rte_eth_dev_close(portid); printf(" Done\n"); } + + /* clean up the EAL */ + rte_eal_cleanup(); printf("Bye...\n"); return ret; diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c index 74413052b0..4cb800aa15 100644 --- a/examples/l3fwd/main.c +++ b/examples/l3fwd/main.c @@ -1405,6 +1405,10 @@ main(int argc, char **argv) printf(" Done\n"); } } + + /* clean up the EAL */ + rte_eal_cleanup(); + printf("Bye...\n"); return ret; diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c index 8ca3586e05..d8ff5f133b 100644 --- a/examples/link_status_interrupt/main.c +++ b/examples/link_status_interrupt/main.c @@ -730,5 +730,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/multi_process/client_server_mp/mp_client/client.c b/examples/multi_process/client_server_mp/mp_client/client.c index 361d90b54b..6d4c246816 100644 --- a/examples/multi_process/client_server_mp/mp_client/client.c +++ b/examples/multi_process/client_server_mp/mp_client/client.c @@ -268,4 +268,7 @@ main(int argc, char *argv[]) need_flush = 1; } + + /* clean up the EAL */ + rte_eal_cleanup(); } diff --git a/examples/multi_process/client_server_mp/mp_server/main.c b/examples/multi_process/client_server_mp/mp_server/main.c index b18e12dd4b..9bcee460fd 100644 --- a/examples/multi_process/client_server_mp/mp_server/main.c +++ b/examples/multi_process/client_server_mp/mp_server/main.c @@ -304,5 +304,9 @@ main(int argc, char *argv[]) rte_eal_mp_remote_launch(sleep_lcore, NULL, SKIP_MAIN); do_packet_forwarding(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/multi_process/simple_mp/main.c b/examples/multi_process/simple_mp/main.c index 109b8bb45d..a05404f7ed 100644 --- a/examples/multi_process/simple_mp/main.c +++ b/examples/multi_process/simple_mp/main.c @@ -121,5 +121,9 @@ main(int argc, char **argv) cmdline_stdin_exit(cl); rte_eal_mp_wait_lcore(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c index ae7f5e0d50..79e5c61e40 100644 --- a/examples/multi_process/symmetric_mp/main.c +++ b/examples/multi_process/symmetric_mp/main.c @@ -472,5 +472,8 @@ main(int argc, char **argv) rte_eal_mp_remote_launch(lcore_main, NULL, CALL_MAIN); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c index 54b7f08964..e9a3887106 100644 --- a/examples/ntb/ntb_fwd.c +++ b/examples/ntb/ntb_fwd.c @@ -1498,5 +1498,8 @@ main(int argc, char **argv) start_pkt_fwd(); } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c index bcbda05f5e..d2fe9f6b50 100644 --- a/examples/packet_ordering/main.c +++ b/examples/packet_ordering/main.c @@ -783,5 +783,9 @@ main(int argc, char **argv) } print_stats(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c index b16c19bc96..2f593abf26 100644 --- a/examples/performance-thread/l3fwd-thread/main.c +++ b/examples/performance-thread/l3fwd-thread/main.c @@ -3781,5 +3781,8 @@ main(int argc, char **argv) } } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/performance-thread/pthread_shim/main.c b/examples/performance-thread/pthread_shim/main.c index 4ce3622e47..257de50692 100644 --- a/examples/performance-thread/pthread_shim/main.c +++ b/examples/performance-thread/pthread_shim/main.c @@ -263,5 +263,9 @@ int main(int argc, char **argv) RTE_LCORE_FOREACH_WORKER(lcore_id) { rte_eal_wait_lcore(lcore_id); } + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/pipeline/main.c b/examples/pipeline/main.c index fb57ef31fe..8ea19f9dd5 100644 --- a/examples/pipeline/main.c +++ b/examples/pipeline/main.c @@ -190,4 +190,7 @@ main(int argc, char **argv) conn_poll_for_msg(conn); } + + /* clean up the EAL */ + rte_eal_cleanup(); } diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c index 878d1a0b99..173451eedc 100644 --- a/examples/ptpclient/ptpclient.c +++ b/examples/ptpclient/ptpclient.c @@ -784,5 +784,8 @@ main(int argc, char *argv[]) /* Call lcore_main on the main core only. */ lcore_main(); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c index f2d9c28828..6e724f3783 100644 --- a/examples/qos_meter/main.c +++ b/examples/qos_meter/main.c @@ -460,5 +460,8 @@ main(int argc, char **argv) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/qos_sched/main.c b/examples/qos_sched/main.c index a6071b991c..dc6a17a646 100644 --- a/examples/qos_sched/main.c +++ b/examples/qos_sched/main.c @@ -218,5 +218,8 @@ main(int argc, char **argv) } } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c index 35c6c39807..b57b2fc6bc 100644 --- a/examples/rxtx_callbacks/main.c +++ b/examples/rxtx_callbacks/main.c @@ -338,5 +338,9 @@ main(int argc, char *argv[]) /* call lcore_main on main core only */ lcore_main(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/server_node_efd/node/node.c b/examples/server_node_efd/node/node.c index 67a55808bf..e68606e0ca 100644 --- a/examples/server_node_efd/node/node.c +++ b/examples/server_node_efd/node/node.c @@ -383,4 +383,7 @@ main(int argc, char *argv[]) need_flush = 1; } + + /* clean up the EAL */ + rte_eal_cleanup(); } diff --git a/examples/server_node_efd/server/main.c b/examples/server_node_efd/server/main.c index 4728960eaf..39b7b6370f 100644 --- a/examples/server_node_efd/server/main.c +++ b/examples/server_node_efd/server/main.c @@ -334,5 +334,9 @@ main(int argc, char *argv[]) rte_eal_mp_remote_launch(sleep_lcore, NULL, SKIP_MAIN); do_packet_forwarding(); + + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/service_cores/main.c b/examples/service_cores/main.c index 0b3d8c8073..2b57a52b16 100644 --- a/examples/service_cores/main.c +++ b/examples/service_cores/main.c @@ -220,5 +220,8 @@ main(int argc, char **argv) i = 0; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c index 4b2b6ab4ff..a31b2882ae 100644 --- a/examples/skeleton/basicfwd.c +++ b/examples/skeleton/basicfwd.c @@ -205,5 +205,8 @@ main(int argc, char *argv[]) /* Call lcore_main on the main core only. */ lcore_main(); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/timer/main.c b/examples/timer/main.c index 5a57e48290..d67301e3c4 100644 --- a/examples/timer/main.c +++ b/examples/timer/main.c @@ -117,5 +117,8 @@ main(int argc, char **argv) /* call it on main lcore too */ (void) lcore_mainloop(NULL); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vdpa/main.c b/examples/vdpa/main.c index 97e967b9a2..097a267b8c 100644 --- a/examples/vdpa/main.c +++ b/examples/vdpa/main.c @@ -576,5 +576,8 @@ main(int argc, char *argv[]) vdpa_sample_quit(); } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vhost/main.c b/examples/vhost/main.c index 2ca7d98c58..ff48ba270d 100644 --- a/examples/vhost/main.c +++ b/examples/vhost/main.c @@ -1781,6 +1781,8 @@ main(int argc, char *argv[]) RTE_LCORE_FOREACH_WORKER(lcore_id) rte_eal_wait_lcore(lcore_id); - return 0; + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c index 54f81b334d..fe2b4e4803 100644 --- a/examples/vhost_blk/vhost_blk.c +++ b/examples/vhost_blk/vhost_blk.c @@ -907,5 +907,8 @@ int main(int argc, char *argv[]) while (1) sleep(1); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vhost_crypto/main.c b/examples/vhost_crypto/main.c index 7ed38fedf2..dea7dcbd07 100644 --- a/examples/vhost_crypto/main.c +++ b/examples/vhost_crypto/main.c @@ -469,6 +469,9 @@ free_resource(void) } memset(&options, 0, sizeof(options)); + + /* clean up the EAL */ + rte_eal_cleanup(); } int diff --git a/examples/vm_power_manager/guest_cli/main.c b/examples/vm_power_manager/guest_cli/main.c index 4e17f7fb90..b8fa65ef15 100644 --- a/examples/vm_power_manager/guest_cli/main.c +++ b/examples/vm_power_manager/guest_cli/main.c @@ -200,5 +200,8 @@ main(int argc, char **argv) } run_cli(NULL); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c index 799d7b9bc3..7d5bf68554 100644 --- a/examples/vm_power_manager/main.c +++ b/examples/vm_power_manager/main.c @@ -468,5 +468,8 @@ main(int argc, char **argv) free(ci->cd); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c index 3cb890fa2b..a19f7db739 100644 --- a/examples/vmdq/main.c +++ b/examples/vmdq/main.c @@ -659,5 +659,8 @@ main(int argc, char *argv[]) return -1; } + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c index 1a74364638..ba992802e9 100644 --- a/examples/vmdq_dcb/main.c +++ b/examples/vmdq_dcb/main.c @@ -707,5 +707,8 @@ main(int argc, char *argv[]) /* call on main too */ (void) lcore_main((void*)i); + /* clean up the EAL */ + rte_eal_cleanup(); + return 0; } -- 2.39.5