From 01e202b60cc8aceb65fd6c82949e2a2b08142f8c Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 18 一月 2021 10:44:50 +0800 Subject: [PATCH] ADD EBUS_NET --- src/bus_error.h | 1 + src/bus_error.cpp | 7 ++++--- src/socket/net_mod_socket.cpp | 18 ++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/bus_error.cpp b/src/bus_error.cpp index 6cee508..cf16cf2 100644 --- a/src/bus_error.cpp +++ b/src/bus_error.cpp @@ -13,9 +13,10 @@ static char *_bus_errlist[_bus_nerr] = { "\0", - "timeout", + "Timeout", "The other end is not inline", - "Key already in use" + "Key already in use", + "Network fault" }; @@ -43,7 +44,7 @@ { int s, eindex; char *buf; - eindex = err - 10000; + eindex = err - EBUS_BASE; /* Make first caller allocate key for thread-specific data */ s = pthread_once(&once, createKey); diff --git a/src/bus_error.h b/src/bus_error.h index d213c48..709f973 100644 --- a/src/bus_error.h +++ b/src/bus_error.h @@ -8,6 +8,7 @@ #define EBUS_TIMEOUT 10001 #define EBUS_CLOSED 10002 #define EBUS_KEY_INUSED 10003 +#define EBUS_NET 10004 extern int bus_errno; diff --git a/src/socket/net_mod_socket.cpp b/src/socket/net_mod_socket.cpp index 455c0a5..73be131 100644 --- a/src/socket/net_mod_socket.cpp +++ b/src/socket/net_mod_socket.cpp @@ -240,12 +240,12 @@ mpool->conns[i].fd = -1; } - else if(n == -1) { + else if(n == EBUS_NET) { // 缃戠粶閿欒 mpool->closeConn( connfd); // mpool->conns[i].fd = -1; } else { - // 瀵规柟key鏄叧闂殑 + // 浠g悊鏈嶅姟娌℃湁杞彂鎴愬姛 mpool->conns[i].fd = -1; } @@ -263,7 +263,6 @@ // printf("poll POLLERR %d\n", connfd); mpool->nready--; mpool->closeConn( connfd); - // mpool->conns[i].fd = -1; } } } @@ -274,7 +273,6 @@ if ( (connfd = mpool->conns[i].fd) > 0 ) { // 鍏抽棴骞舵竻闄ゅ啓鍏ユ垨璇诲彇澶辫触鐨勮繛鎺� mpool->closeConn( connfd); - // mpool->conns[i].fd = -1; } } @@ -411,11 +409,11 @@ mpool->conns[i].fd = -1; n_pub_suc++; } - else if(ret == -1) { + else if(ret == EBUS_NET) { // 缃戠粶杩炴帴閿欒 mpool->closeConn( connfd); } else { - // 瀵规柟鐨刱ey鏄叧闂殑 + // 浠g悊鏈嶅姟娌℃湁杞彂鎴愬姛 mpool->conns[i].fd = -1; } n_resp++; @@ -693,7 +691,7 @@ } /** - * @return 0 鎴愬姛, 1 瀵规柟娌℃湁瀵瑰簲鐨刱ey, -1 缃戠粶閿欒 + * @return 0 鎴愬姛, EBUS_NET 缃戠粶閿欒锛� 鍏朵粬鍊� 浠g悊鏈嶅姟娌℃湁杞彂鎴愬姛銆� * */ int NetModSocket::read_response(int connfd, net_mod_recv_msg_t *recv_msg) { @@ -712,7 +710,7 @@ // printf(">>>> read_response %s\n", response_head.host); if(response_head.code != 0) { // 浠g悊鏈嶅姟娌¤兘鎴愬姛鍙戦�佺粰瀵瑰簲鐨刱ey - return 1; + return response_head.code; } recv_buf = malloc(response_head.content_length); @@ -722,8 +720,8 @@ } if ( (recv_size = rio_readn(connfd, recv_buf, response_head.content_length) ) != response_head.content_length) { LoggerFactory::getLogger()->error(errno, "NetModSocket::read_response rio_readnb recv_buf"); - - return -1; + //缃戠粶閿欒 + return EBUS_NET; } strcpy( recv_msg->host, response_head.host); -- Gitblit v1.8.0