From 1d1c02c006dd9561f8d50ffda5b16e29d81997fd Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 17 七月 2020 19:10:51 +0800
Subject: [PATCH] update

---
 queue/mod_socket.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/queue/mod_socket.c b/queue/mod_socket.c
index 80b5525..ba70580 100644
--- a/queue/mod_socket.c
+++ b/queue/mod_socket.c
@@ -110,7 +110,7 @@
 
 }
 
-int mod_send(void * _socket, void *buf, int size) {
+int mod_send(void * _socket, const void *buf, const int size) {
 	mod_socket_t * socket = (mod_socket_t *) _socket;
 	std::map<int, shm_socket_t* > *clientSocketMap = socket->shm_socket->clientSocketMap;
 	std::map<int, shm_socket_t* >::iterator iter;
@@ -122,13 +122,14 @@
 				rv = shm_send(socket->client_socket, buf, size);
 				SemUtil::inc(socket->slots);
 				break;
+			case SURVEY:
 			case PUB_SUB:
 				for(iter = clientSocketMap->begin(); iter != clientSocketMap->end(); iter++) {
 					rv = shm_send(iter->second, buf, size);
 				}
 				break;
 			default:
-				err_exit(0, "涓嶆敮鎸佺殑妯″紡%d", socket->mod);
+				rv = shm_send(socket->client_socket, buf, size);
 		}
 		return rv;
 		
@@ -158,8 +159,12 @@
 			case PUB_SUB:
 				rv = 0;
 				break;
+
+			case SURVEY:
 			default:
-				err_exit(0, "涓嶆敮鎸佺殑妯″紡%d", socket->mod);
+				rv = socket->recvQueue->pop(entry);
+				*buf = entry.buf;
+				*size = entry.size;
 		}
 
 		return rv;

--
Gitblit v1.8.0