service: fix lingering active status
authorHarry van Haaren <harry.van.haaren@intel.com>
Tue, 5 Jul 2022 13:32:07 +0000 (13:32 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 5 Jul 2022 14:24:43 +0000 (16:24 +0200)
commit6550113be62d1bd27b2f2dc07d7a888ad9499006
tree000a5107084d5a8a425b0797f1f08e837381c406
parente097bf80e418b03eea1b032a37b71097b4cf0a89
service: fix lingering active status

This commit fixes an issue where calling rte_service_lcore_stop()
would result in a service's "active on lcore" status becoming stale.

The stale status would result in rte_service_may_be_active() always
returning "1", indicating that the service is not certainly stopped.

This is fixed by ensuring the "active on lcore" status of each service
is set to 0 when an lcore is stopped.

Fixes: e30dd31847d2 ("service: add mechanism for quiescing")
Fixes: 8929de043eb4 ("service: retrieve lcore active state")

Reported-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
lib/eal/common/rte_service.c