Merge pull request #1357 from fengzeroz/main

improve(connection): donot close fd if tty read returns 0
This commit is contained in:
fengzeroz
2023-06-26 16:01:59 +08:00
committed by GitHub
+15 -6
View File
@@ -407,14 +407,23 @@ ssize_t neu_conn_recv(neu_conn_t *conn, uint8_t *buf, ssize_t len)
}
break;
}
if (ret <= 0) {
zlog_error(
conn->param.log,
"conn fd: %d, recv buf len %zd, ret: %zd, errno: %s(%d), type:%d",
conn->fd, len, ret, strerror(errno), errno, conn->param.type);
if (errno == EPIPE || (ret == 0 && errno != 0)) {
if (conn->param.type == NEU_CONN_TTY_CLIENT) {
if (ret == -1) {
zlog_error(
conn->param.log,
"tty conn fd: %d, recv buf len %zd, ret: %zd, errno: %s(%d)",
conn->fd, len, ret, strerror(errno), errno);
conn_disconnect(conn);
}
} else {
if (ret <= 0) {
zlog_error(conn->param.log,
"conn fd: %d, recv buf len %zd, ret: %zd, errno: %s(%d)",
conn->fd, len, ret, strerror(errno), errno);
if (ret == 0 || (ret == -1 && errno != EAGAIN)) {
conn_disconnect(conn);
}
}
}
pthread_mutex_unlock(&conn->mtx);