From 37989e0300c20cd65a4d4a3c49eeaea2122ddf9e Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 20 七月 2020 10:28:02 +0800 Subject: [PATCH] update --- queue/libshm_queue.a | 0 /dev/null | 1 - queue/shm_socket.c | 4 ++-- queue/mod_socket.c | 21 +++++++++++---------- queue/logger_factory.h | 2 +- test/communication | 0 test2/pub_sub | 0 test2/req_rep | 0 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/queue/libshm_queue.a b/queue/libshm_queue.a index 8f55086..3488bfc 100644 --- a/queue/libshm_queue.a +++ b/queue/libshm_queue.a Binary files differ diff --git a/queue/logger_factory.h b/queue/logger_factory.h index 90eac82..e738ad9 100644 --- a/queue/logger_factory.h +++ b/queue/logger_factory.h @@ -7,7 +7,7 @@ static Logger getLogger() { //ERROR ALL - static Logger logger(Logger::ALL); + static Logger logger(Logger::ERROR); return logger; } }; diff --git a/queue/mod_socket.c b/queue/mod_socket.c index 7476921..a63c37d 100644 --- a/queue/mod_socket.c +++ b/queue/mod_socket.c @@ -74,6 +74,7 @@ socket->recvQueue->push(entry); // shm_free(recvbuf); } + free(_socket); shm_close_socket(client_socket); return NULL; @@ -84,6 +85,7 @@ shm_socket_t *client_socket; pthread_t tid; while(socket->shm_socket->status == SHM_CONN_LISTEN) { + //鎺ュ彈瀹㈡埛绔殑杩炴帴璇锋眰 client_socket = shm_accept(socket->shm_socket); mod_socket_t *arg = (mod_socket_t *)malloc(sizeof(mod_socket_t)); @@ -152,38 +154,37 @@ int mod_recv(void * _socket, void **buf, int *size) { mod_socket_t * socket = (mod_socket_t *) _socket; mod_entry_t entry; - int rv; if(socket->is_server ) { switch(socket->mod) { case REQ_REP: - logger.debug("REQ_REP mod_recv before"); +logger.debug("REQ_REP mod_recv before"); SemUtil::dec(socket->slots); - rv = socket->recvQueue->pop(entry); + socket->recvQueue->pop(entry); *buf = entry.buf; *size = entry.size; socket->client_socket = entry.client_socket; SemUtil::inc(socket->items); + logger.debug("REQ_REP mod_recv after"); break; case PUB_SUB: - rv = 0; break; - case SURVEY: default: - rv = socket->recvQueue->pop(entry); + socket->recvQueue->pop(entry); *buf = entry.buf; *size = entry.size; - } - return rv; + } + + return 0; } else { logger.debug("mod_recv before"); - rv = shm_recv(socket->shm_socket, buf, size); + shm_recv(socket->shm_socket, buf, size); logger.debug("mod_recv after"); - return rv; + return 0; } return -1; diff --git a/queue/shm_socket.c b/queue/shm_socket.c index 9d6202b..4fb90cf 100644 --- a/queue/shm_socket.c +++ b/queue/shm_socket.c @@ -112,10 +112,10 @@ socket->queue = new SHMQueue<shm_msg_t>(socket->port, 16); socket->acceptQueue = new LockFreeQueue<shm_msg_t, DM_Allocator>(16); socket->clientSocketMap = new std::map<int, shm_socket_t* >; - + socket->status = SHM_CONN_LISTEN; pthread_create(&(socket->dispatch_thread), NULL, _server_run_msg_rev , (void *)socket); - socket->status = SHM_CONN_LISTEN; + return 0; } diff --git a/test/communication b/test/communication index 99fa4f4..bf01845 100755 --- a/test/communication +++ b/test/communication Binary files differ diff --git a/test2/pub b/test2/pub deleted file mode 100755 index 7ded9a2..0000000 --- a/test2/pub +++ /dev/null Binary files differ diff --git a/test2/pub_sub b/test2/pub_sub index 648bae7..ce3e31c 100755 --- a/test2/pub_sub +++ b/test2/pub_sub Binary files differ diff --git a/test2/req_rep b/test2/req_rep index 25e0507..e8597fc 100755 --- a/test2/req_rep +++ b/test2/req_rep Binary files differ diff --git a/test2/test0.txt b/test2/test0.txt deleted file mode 100644 index 66a6936..0000000 --- a/test2/test0.txt +++ /dev/null @@ -1 +0,0 @@ -requst:thread(0) 0 diff --git a/test2/test1.txt b/test2/test1.txt deleted file mode 100644 index 26578d9..0000000 --- a/test2/test1.txt +++ /dev/null @@ -1 +0,0 @@ -requst:thread(1) 0 diff --git a/test2/test2.txt b/test2/test2.txt deleted file mode 100644 index e69de29..0000000 --- a/test2/test2.txt +++ /dev/null diff --git a/test2/test3.txt b/test2/test3.txt deleted file mode 100644 index 7c96753..0000000 --- a/test2/test3.txt +++ /dev/null @@ -1 +0,0 @@ -requst:thread(3) 0 -- Gitblit v1.8.0