From 973692652774a5ffe98478ee287b40af529d0b39 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期三, 13 一月 2021 14:14:58 +0800 Subject: [PATCH] update --- src/socket/shm_socket.cpp | 27 ++++++++++++--------------- 1 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/socket/shm_socket.cpp b/src/socket/shm_socket.cpp index e2d3fab..c0f4c44 100644 --- a/src/socket/shm_socket.cpp +++ b/src/socket/shm_socket.cpp @@ -163,7 +163,7 @@ shm_socket_t *client_socket; shm_msg_t src; - if (socket->acceptQueue->pop(src)) { + if (socket->acceptQueue->pop(src) == 0) { // print_msg("===accept:", src); client_key = src.key; @@ -190,7 +190,7 @@ msg.size = 0; msg.type = SHM_SOCKET_OPEN_REPLY; - if (client_socket->remoteQueue->push_timeout(msg, &timeout)) { + if (client_socket->remoteQueue->push_timeout(msg, &timeout) == 0) { client_socket->status = SHM_CONN_ESTABLISHED; return client_socket; } else { @@ -246,7 +246,7 @@ socket->remoteQueue->push_timeout(msg, &timeout); //鎺ュ彈open reply - if (socket->queue->pop(msg)) { + if (socket->queue->pop(msg) == 0) { // 鍦ㄨ繖閲宻erver绔凡缁忓噯澶囧ソ鎺ュ彈瀹㈡埛绔彂閫佽姹備簡,瀹屾垚涓庢湇鍔$鐨勮繛鎺� if (msg.type == SHM_SOCKET_OPEN_REPLY) { socket->status = SHM_CONN_ESTABLISHED; @@ -283,7 +283,7 @@ dest.buf = mm_malloc(size); memcpy(dest.buf, buf, size); - if (socket->remoteQueue->push(dest)) { + if (socket->remoteQueue->push(dest) == 0) { return 0; } else { logger->error(errno, "connection has been closed!"); @@ -300,7 +300,7 @@ } shm_msg_t src; - if (socket->messageQueue->pop(src)) { + if (socket->messageQueue->pop(src) == 0) { void *_buf = malloc(src.size); memcpy(_buf, src.buf, src.size); *buf = _buf; @@ -369,7 +369,6 @@ dest.buf = mm_malloc(size); memcpy(dest.buf, buf, size); - // printf("shm_sendto push before\n"); if(flags & SHM_MSG_NOWAIT != 0) { rv = remoteQueue->push_nowait(dest); @@ -379,19 +378,19 @@ rv = remoteQueue->push(dest); } - if (rv) { + if (rv == 0) { // printf("shm_sendto push after\n"); delete remoteQueue; return 0; } else { delete remoteQueue; mm_free(dest.buf); - if(errno == ETIMEDOUT) { + if(rv == EBUS_TIMEOUT) { bus_errno = EBUS_TIMEOUT; logger->error(errno, "sendto key %d failed, %s", key, bus_strerror(EBUS_TIMEOUT)); return EBUS_TIMEOUT; } else { - logger->error(errno, "sendto key %d failed!", key); + //logger->error(errno, "sendto key %d failed!", key); return -1; } @@ -433,7 +432,6 @@ err_exit(s, "shm_recvfrom : pthread_mutex_unlock"); shm_msg_t src; - // printf("shm_recvfrom pop before\n"); if(flags & SHM_MSG_NOWAIT != 0) { rv = socket->queue->pop_nowait(src); @@ -443,7 +441,7 @@ rv = socket->queue->pop(src); } - if (rv) { + if (rv == 0) { if(buf != NULL) { void *_buf = malloc(src.size); memcpy(_buf, src.buf, src.size); @@ -457,7 +455,6 @@ *key = src.key; mm_free(src.buf); - // printf("shm_recvfrom pop after\n"); return 0; } else { return -1; @@ -601,7 +598,7 @@ int shm_sendandrecv(shm_socket_t *socket, const void *send_buf, const int send_size, const int send_key, void **recv_buf, int *recv_size, struct timespec *timeout, int flags) { - return shm_sendandrecv_unsafe(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout, flags); + return _shm_sendandrecv_thread_local(socket, send_buf, send_size, send_key,recv_buf, recv_size, timeout, flags); } @@ -644,7 +641,7 @@ shm_socket_t *client_socket; std::map<int, shm_socket_t *>::iterator iter; - while (socket->queue->pop(src)) { + while (socket->queue->pop(src) == 0) { switch (src.type) { case SHM_SOCKET_OPEN: @@ -687,7 +684,7 @@ struct timespec timeout = {1, 0}; shm_msg_t src; - while (socket->queue->pop(src)) { + while (socket->queue->pop(src) == 0) { switch (src.type) { case SHM_SOCKET_CLOSE: -- Gitblit v1.8.0