metrics_initialized shall be reset in deinit function
This is currently causing issue in running
metrics_autotest mulutiple times

Fixes: 07c1b6925b65 ("telemetry: invert dependency on metrics library")

Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com>
---
 lib/librte_metrics/rte_metrics.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/librte_metrics/rte_metrics.c b/lib/librte_metrics/rte_metrics.c
index e07670219f..dba6409c27 100644
--- a/lib/librte_metrics/rte_metrics.c
+++ b/lib/librte_metrics/rte_metrics.c
@@ -85,6 +85,7 @@ rte_metrics_deinit(void)
 {
        struct rte_metrics_data_s *stats;
        const struct rte_memzone *memzone;
+       int ret = 0;
 
        if (rte_eal_process_type() != RTE_PROC_PRIMARY)
                return -EINVAL;
@@ -96,8 +97,10 @@ rte_metrics_deinit(void)
        stats = memzone->addr;
        memset(stats, 0, sizeof(struct rte_metrics_data_s));
 
-       return rte_memzone_free(memzone);
-
+       ret  = rte_memzone_free(memzone);
+       if (ret == 0)
+               metrics_initialized = 0;
+       return ret;
 }
 
 int
-- 
2.17.1

Reply via email to