Hi Stephen, Do you mean this solution? 1. support atexit() in librte_eal, other component can use it to register a function to be called when rte_exit() is called. 2. in librte_cmdline, use atexit() to register a function to release resource
I am looking forward to more comments from other maintainers, since this solution will modify librte_eal and librte_cmdline, but not just testpmd app. -----Original Message----- From: Stephen Hemminger [mailto:step...@networkplumber.org] Sent: Friday, December 25, 2020 11:03 AM To: Yu, DapengX <dapengx...@intel.com> Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Xing, Beilei <beilei.x...@intel.com>; Iremonger, Bernard <bernard.iremon...@intel.com>; dev@dpdk.org; sta...@dpdk.org Subject: Re: [dpdk-dev] [PATCH] app/testpmd: avoid exit without resource release On Thu, 24 Dec 2020 11:57:48 +0800 dapengx...@intel.com wrote: > From: YU DAPENG <dapengx...@intel.com> > > In interactive mode, if testpmd exit by calling rte_exit without > cmdline resource release, terminal will not echo keyboard input. So > add code to just show error message, but not exit testpmd when > unexpected happens on starting packet forwarding in interactive mode. User > can type "quit" > to exit testpmd later. > > Fixes: 5a8fb55c48ab ("app/testpmd: support unidirectional > configuration") > Cc: sta...@dpdk.org > > Signed-off-by: YU DAPENG <dapengx...@intel.com> Sounds like a more generic problem with rte_exit and librte_cmdline. Would it better to fix it in librte_cmdline by adding an atexit() handler.