Currently, EAL init cannot be interrupted with SIGINT because the signal handler is already overridden by the time EAL init happens.
Fix it by moving signal handler installation to after EAL initialization, to allow SIGNIT to interrupt EAL initialization. Fixes: d7937e2e3d12 ("power: initial import") Cc: sta...@dpdk.org Signed-off-by: Harneet Singh <harneet.si...@intel.com> diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index 21c79567b1..002ba011c3 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -2532,9 +2532,6 @@ main(int argc, char **argv) uint16_t portid; const char *ptr_strings[NUM_TELSTATS]; - /* catch SIGINT and restore cpufreq governor to ondemand */ - signal(SIGINT, signal_exit_now); - /* init EAL */ ret = rte_eal_init(argc, argv); if (ret < 0) @@ -2542,6 +2539,9 @@ main(int argc, char **argv) argc -= ret; argv += ret; + /* catch SIGINT and restore cpufreq governor to ondemand */ + signal(SIGINT, signal_exit_now); + /* init RTE timer library to be used late */ rte_timer_subsystem_init(); -- 2.25.1