diff --git a/src/connection/connection.c b/src/connection/connection.c index 53d9caee..28938954 100644 --- a/src/connection/connection.c +++ b/src/connection/connection.c @@ -409,7 +409,7 @@ ssize_t neu_conn_recv(neu_conn_t *conn, uint8_t *buf, ssize_t len) 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 (errno == EPIPE || (ret == 0 && errno != 0)) { + if (ret == 0 || (ret == -1 && errno != EAGAIN)) { conn_disconnect(conn); } }