From 24678070d451711a03a69ca3a7aa6e695efeff28 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 12 三月 2021 19:05:12 +0800
Subject: [PATCH] upate

---
 src/socket/shm_socket.cpp |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/socket/shm_socket.cpp b/src/socket/shm_socket.cpp
index 2b3e626..4f5f4d9 100644
--- a/src/socket/shm_socket.cpp
+++ b/src/socket/shm_socket.cpp
@@ -46,7 +46,7 @@
 
 
   if (tmp_ptr == NULL || tmp_ptr == (void *)1  ) {
-    queue = new LockFreeQueue<shm_packet_t>(16);
+    queue = new LockFreeQueue<shm_packet_t>(1024);
     hashtable_put(hashtable, key, (void *)queue);
     hashtable_unlock(hashtable);
     return queue;
@@ -292,7 +292,7 @@
 {
   int rv;
 
-  logger->debug("%d destroy threadlocal socket\n", pthread_self()); 
+  logger->debug("%lu destroy threadlocal socket\n", pthread_self()); 
 
   if(tmp_socket == NULL)
     return;
@@ -325,7 +325,7 @@
                     const int send_size, const int key, void **recv_buf,
                     int *recv_size,  const struct timespec *timeout,  int flags) {
 
-  int rv, tryn = 6;
+  int rv, tryn = 16;
   shm_packet_t sendpak;
   shm_packet_t recvpak;
   std::map<std::string, shm_packet_t>::iterator recvbufIter;
@@ -600,6 +600,10 @@
 
   sendpak->key = sockt->key;
   rv = remoteQueue->push(*sendpak, timeout, flag);
+
+  if(rv != 0) {
+    mm_free(sendpak->buf);
+  }
   if(rv == ETIMEDOUT) {
     return EBUS_TIMEOUT;
   }

--
Gitblit v1.8.0