On 06-Dec-18 12:47 AM, gfree.w...@vip.163.com wrote:
From: Gao Feng <davidf...@tencent.com>
The RTE_PROC_PRIMARY error handler lost the unlock statement in the
current codes. Now fix it.
Signed-off-by: Gao Feng <davidf...@tencent.com>
Fixes: 49df3db84883 ("memzone: replace memzone array with fbarray")
Cc: sta...@dpdk.org
---
lib/librte_eal/common/eal_common_memzone.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/common/eal_common_memzone.c
b/lib/librte_eal/common/eal_common_memzone.c
index b7081af..649cad4 100644
--- a/lib/librte_eal/common/eal_common_memzone.c
+++ b/lib/librte_eal/common/eal_common_memzone.c
@@ -375,6 +375,7 @@
rte_fbarray_init(&mcfg->memzones, "memzone",
RTE_MAX_MEMZONE, sizeof(struct rte_memzone))) {
RTE_LOG(ERR, EAL, "Cannot allocate memzone list\n");
+ rte_rwlock_write_unlock(&mcfg->mlock);
return -1;
} else if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
rte_fbarray_attach(&mcfg->memzones)) {
Acked-by: Anatoly Burakov <anatoly.bura...@intel.com>
Although i would probably remove both unlocks and instead save and
return a value, so that unlock happens in one place. But this is OK too.
--
Thanks,
Anatoly