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.

Reply via email to