From fb3f4f606659af9cbf10b0b6710fb80fcaec5627 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 18 一月 2021 10:46:44 +0800 Subject: [PATCH] Merge branch 'master' into dev --- src/socket/shm_socket.cpp | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/socket/shm_socket.cpp b/src/socket/shm_socket.cpp index 1b7721d..534202d 100644 --- a/src/socket/shm_socket.cpp +++ b/src/socket/shm_socket.cpp @@ -30,8 +30,8 @@ static inline int _shm_socket_check_key(shm_socket_t *socket) { void *tmp_ptr = mm_get_by_key(socket->key); if (tmp_ptr!= NULL && tmp_ptr != (void *)1 && !socket->force_bind ) { - bus_errno = ESHM_BUS_KEY_INUSED; - logger->error("%s. key = %d ", bus_strerror(ESHM_BUS_KEY_INUSED), socket->key); + bus_errno = EBUS_KEY_INUSED; + logger->error("%s. key = %d ", bus_strerror(EBUS_KEY_INUSED), socket->key); return 0; } return 1; @@ -133,8 +133,8 @@ } else { if(!_shm_socket_check_key(socket)) { - bus_errno = ESHM_BUS_KEY_INUSED; - return ESHM_BUS_KEY_INUSED; + bus_errno = EBUS_KEY_INUSED; + return EBUS_KEY_INUSED; } } @@ -224,8 +224,8 @@ socket->key = hashtable_alloc_key(hashtable); } else { if(!_shm_socket_check_key(socket)) { - bus_errno = ESHM_BUS_KEY_INUSED; - return ESHM_BUS_KEY_INUSED; + bus_errno = EBUS_KEY_INUSED; + return EBUS_KEY_INUSED; } } @@ -338,8 +338,8 @@ } else { if(!_shm_socket_check_key(socket)) { - bus_errno = ESHM_BUS_KEY_INUSED; - return ESHM_BUS_KEY_INUSED; + bus_errno = EBUS_KEY_INUSED; + return EBUS_KEY_INUSED; } } @@ -350,10 +350,13 @@ if ((s = pthread_mutex_unlock(&(socket->mutex))) != 0) err_exit(s, "shm_sendto : pthread_mutex_unlock"); - if (key == socket->key) { - logger->error( "can not send to your self!"); - return -1; - } + // There is some case where a socket need to send to himeself, for example when bus server need to stop, he need to send himself + // a top message. + + // if (key == socket->key) { + // logger->error( "can not send to your self!"); + // return -1; + // } SHMQueue<shm_msg_t> *remoteQueue; if ((remoteQueue = _attach_remote_queue(key)) == NULL) { @@ -419,8 +422,8 @@ } else { if(!_shm_socket_check_key(socket)) { - bus_errno = ESHM_BUS_KEY_INUSED; - return ESHM_BUS_KEY_INUSED; + bus_errno = EBUS_KEY_INUSED; + return EBUS_KEY_INUSED; } } -- Gitblit v1.8.0