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/mod_socket.c | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) 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; -- Gitblit v1.8.0