From 4765a5bc1f1b8acae69fb03f2f2923f39b28e6b5 Mon Sep 17 00:00:00 2001 From: fengzero Date: Fri, 4 Nov 2022 08:31:22 +0000 Subject: [PATCH] connection(serial): wait reading all msg --- src/connection/connection.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/connection/connection.c b/src/connection/connection.c index c6a7cd91..3e115dc0 100644 --- a/src/connection/connection.c +++ b/src/connection/connection.c @@ -342,6 +342,15 @@ ssize_t neu_conn_recv(neu_conn_t *conn, uint8_t *buf, ssize_t len) break; case NEU_CONN_TTY_CLIENT: ret = read(conn->fd, buf, len); + while (ret > 0 && ret < len) { + ssize_t rv = read(conn->fd, buf + ret, len - ret); + if (rv <= 0) { + ret = rv; + break; + } + + ret += rv; + } break; } if (ret <= 0) {