From 352fb3eeb40846d576e942ed2674fde052b2d81c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 27 Mar 2024 22:29:38 +0100 Subject: [PATCH] http: call ustream_poll if not enough read data is available Avoids having to go through another uloop notification for the next read. Signed-off-by: Felix Fietkau --- uclient-http.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/uclient-http.c b/uclient-http.c index 83c268f..33f6513 100644 --- a/uclient-http.c +++ b/uclient-http.c @@ -1077,8 +1077,12 @@ uclient_http_read(struct uclient *cl, char *buf, unsigned int len) return 0; data = ustream_get_read_buf(uh->us, &read_len); - if (!data || !read_len) - return 0; + if (!data || !read_len) { + ustream_poll(uh->us); + data = ustream_get_read_buf(uh->us, &read_len); + if (!data || !read_len) + return 0; + } data_end = data + read_len; read_len = 0; -- 2.30.2