From 22cdfa47418f42bde9e51bfbc864f2aefc05667e Mon Sep 17 00:00:00 2001 From: Guus Sliepen Date: Wed, 28 Sep 2022 11:12:41 +0200 Subject: [PATCH] Check send buffer instead of receive buffer size when calling channel_poll(). --- src/meshlink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/meshlink.c b/src/meshlink.c index a5bf2c90..f425b4b2 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -4515,7 +4515,7 @@ bool meshlink_channel_aio_send(meshlink_handle_t *mesh, meshlink_channel_t *chan /* Ensure the poll callback is set, and call it right now to push data if possible */ utcp_set_poll_cb(channel->c, channel_poll); - size_t todo = MIN(len, utcp_get_rcvbuf_free(channel->c)); + size_t todo = MIN(len, utcp_get_sndbuf_free(channel->c)); if(todo) { channel_poll(channel->c, todo); @@ -4560,7 +4560,7 @@ bool meshlink_channel_aio_fd_send(meshlink_handle_t *mesh, meshlink_channel_t *c /* Ensure the poll callback is set, and call it right now to push data if possible */ utcp_set_poll_cb(channel->c, channel_poll); - size_t left = utcp_get_rcvbuf_free(channel->c); + size_t left = utcp_get_sndbuf_free(channel->c); if(left) { channel_poll(channel->c, left); -- 2.39.2