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