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