From 37db284a0c422fc28088d21defb46ed0c576d3c1 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期四, 16 七月 2020 10:38:18 +0800 Subject: [PATCH] update --- queue/socket.c | 19 +++++++------------ 1 files changed, 7 insertions(+), 12 deletions(-) diff --git a/queue/socket.c b/queue/socket.c index cc9a08a..cd254e1 100644 --- a/queue/socket.c +++ b/queue/socket.c @@ -30,7 +30,8 @@ int port; shm_mod_t mod; SHMQueue<shm_msg_t> *queue; - std::map<int, SHMQueue<shm_msg_t>* > *remoteQueueMap; + SHMQueue<shm_msg_t> *remoteQueue; + // std::map<int, SHMQueue<shm_msg_t>* > *remoteQueueMap; int slots; int items; int is_server; @@ -114,26 +115,20 @@ } -static int __shm_rev(shm_socket_t* _socket, void **buf, int *size) { +static int __shm_rev__(shm_socket_t* _socket) { shm_msg_t src; std::map<int, SHMQueue<shm_msg_t>* > *remoteQueueMap = _socket->remoteQueueMap; bool rv = _socket->queue->pop(src); if (rv) { - if(src.type=="open") + if(src.type == SHM_SOCKET_OPEN) { + _socket->remoteQueue = new SHMQueue<shm_msg_t>(src.port, 0); + } - if( _socket->is_server == 1 && remoteQueueMap->find(src.port) == remoteQueueMap->end()) { - if(_socket->mod == REQ_REP) - SemUtil::dec(_socket->slots); - - remoteQueueMap->insert({src.port, new SHMQueue<shm_msg_t>(src.port, 0)}); - - if(_socket->mod == REQ_REP) - SemUtil::inc(_socket->items); - } + void * _buf = malloc(src.size); memcpy(_buf, src.buf, src.size); -- Gitblit v1.8.0