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