metrics: fix library cleanup
authorHemant Agrawal <hemant.agrawal@nxp.com>
Tue, 19 May 2020 10:52:57 +0000 (16:22 +0530)
committerDavid Marchand <david.marchand@redhat.com>
Tue, 19 May 2020 12:05:21 +0000 (14:05 +0200)
metrics_initialized shall be reset in deinit function.
This is currently causing issue in running metrics_autotest
multiple times.

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

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: David Marchand <david.marchand@redhat.com>
lib/librte_metrics/rte_metrics.c

index e076702..e2a0fbe 100644 (file)
@@ -85,6 +85,7 @@ rte_metrics_deinit(void)
 {
        struct rte_metrics_data_s *stats;
        const struct rte_memzone *memzone;
+       int ret;
 
        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