service: fix crash on exit
This commit releases all service cores from their role,
returning them to ROLE_RTE on rte_service_finalize().
This fixes an issue relating to the service cores causing
a race-condition on rte_eal_cleanup(), where the service core
could still be executing while the main thread has already
free-d the service memory, leading to a segfault.
Fixes: da23f0aa87
("service: fix memory leak with new function")
Cc: stable@dpdk.org
Reported-by: David Marchand <david.marchand@redhat.com>
Reported-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
This commit is contained in:
parent
8a4baf06c1
commit
33666b448f
@ -122,6 +122,9 @@ rte_service_finalize(void)
|
||||
if (!rte_service_library_initialized)
|
||||
return;
|
||||
|
||||
rte_service_lcore_reset_all();
|
||||
rte_eal_mp_wait_lcore();
|
||||
|
||||
rte_free(rte_services);
|
||||
rte_free(lcore_states);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user