From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Rybchenko Subject: [PATCH] app/test: fix failure on mempool autotest retry Date: Wed, 25 Apr 2018 18:00:37 +0100 Message-ID: <1524675637-3037-1-git-send-email-arybchenko@solarflare.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Olivier MATZ , To: Return-path: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Single producer / single consumer mempool handle is stored in static variable and the mempool allocated if stored value is NULL. If the mempool is freed, NULL should be restored to make sure that the mempool is allocated once again next time when the test is run. Fixes: 8ef772aee072 ("app/test: rework mempool test") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko --- test/test/test_mempool.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/test/test_mempool.c b/test/test/test_mempool.c index 8d29af21e..eebb1f24d 100644 --- a/test/test/test_mempool.c +++ b/test/test/test_mempool.c @@ -327,17 +327,17 @@ test_mempool_sp_sc(void) } if (rte_mempool_lookup("test_mempool_sp_sc") != mp_spsc) { printf("Cannot lookup mempool from its name\n"); - rte_mempool_free(mp_spsc); - RET_ERR(); + ret = -1; + goto err; } lcore_next = rte_get_next_lcore(lcore_id, 0, 1); if (lcore_next >= RTE_MAX_LCORE) { - rte_mempool_free(mp_spsc); - RET_ERR(); + ret = -1; + goto err; } if (rte_eal_lcore_role(lcore_next) != ROLE_RTE) { - rte_mempool_free(mp_spsc); - RET_ERR(); + ret = -1; + goto err; } rte_spinlock_init(&scsp_spinlock); memset(scsp_obj_table, 0, sizeof(scsp_obj_table)); @@ -348,7 +348,10 @@ test_mempool_sp_sc(void) if (rte_eal_wait_lcore(lcore_next) < 0) ret = -1; + +err: rte_mempool_free(mp_spsc); + mp_spsc = NULL; return ret; } -- 2.14.1