From 478875161eaedaf44dad0f36701ab84a02e45d0a Mon Sep 17 00:00:00 2001
From: Ali Mohammed <ali.mohammed@hpe.com>
Date: Wed, 25 Jan 2023 11:40:21 -0600
Subject: [PATCH] avoid hanging when multiple threads are waiting on mreg
 changes

---
 transport/rdma.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/transport/rdma.c b/transport/rdma.c
index 30399122..5cb7ff4d 100644
--- a/transport/rdma.c
+++ b/transport/rdma.c
@@ -375,12 +375,10 @@ mstro_transport_rdma_src_execute_bh(Mstro__Pool__TransferCompleted *tc)
 
   HASH_DEL(g_mstro_transport_mreg_table, regentry);
   free(regentry);
-  if (HASH_COUNT(g_mstro_transport_mreg_table) == 0) {
-    err = pthread_cond_signal(&g_mstro_transport_mreg_table_cond);
-    if (err) {
-      ERR("Couldn't signal mreg table is empty\n");
+  err = pthread_cond_signal(&g_mstro_transport_mreg_table_cond);
+  if (err) {
+      ERR("Couldn't signal mreg entry change\n");
       status = MSTRO_FAIL;
-    }
   }
 
 BAILOUT_UNLOCK:
-- 
GitLab