From d9d5c2d3089345fa858deaf2c0dfbfb304b7a9f6 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期五, 16 十月 2020 20:08:52 +0800 Subject: [PATCH] udpate --- src/socket/shm_socket.c | 24 +++++++++++++++--------- 1 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/socket/shm_socket.c b/src/socket/shm_socket.c index 362e5e8..ab34bca 100644 --- a/src/socket/shm_socket.c +++ b/src/socket/shm_socket.c @@ -48,15 +48,21 @@ } int shm_close_socket(shm_socket_t *socket) { + + int ret; switch (socket->socket_type) { - case SHM_SOCKET_STREAM: - return _shm_close_stream_socket(socket, true); - case SHM_SOCKET_DGRAM: - return _shm_close_dgram_socket(socket); - default: - return -1; + case SHM_SOCKET_STREAM: + ret = _shm_close_stream_socket(socket, true); + break; + case SHM_SOCKET_DGRAM: + ret = _shm_close_dgram_socket(socket); + break; + default: + break; } - return -1; + SemUtil::remove(socket->mutex); + free(socket); + return ret; } int shm_socket_bind(shm_socket_t *socket, int port) { @@ -531,7 +537,7 @@ if (socket->dispatch_thread != 0) pthread_cancel(socket->dispatch_thread); - free(socket); + return 0; } @@ -541,7 +547,7 @@ delete socket->queue; socket->queue = NULL; } - free(socket); + return 0; } -- Gitblit v1.8.0