From e62e8de5a782671a00ca81e6bd145de7a3635b38 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Tue, 3 Feb 2026 07:57:17 +0100 Subject: [PATCH] MEDIUM: stream: Offer buffers of default size only Check the channels buffers size on release before trying to offer it to waiting entities. Only normal buffers must be considered. This will be mandatory when the large buffers support on channels will be added. --- src/stream.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/stream.c b/src/stream.c index 873207a4a..2d6b23da2 100644 --- a/src/stream.c +++ b/src/stream.c @@ -658,7 +658,7 @@ void stream_free(struct stream *s) b_dequeue(&s->buffer_wait); if (s->req.buf.size || s->res.buf.size) { - int count = !!s->req.buf.size + !!s->res.buf.size; + int count = (s->req.buf.size == global.tune.bufsize) + (s->res.buf.size == global.tune.bufsize); b_free(&s->req.buf); b_free(&s->res.buf); @@ -807,11 +807,13 @@ void stream_release_buffers(struct stream *s) int offer = 0; if (c_size(&s->req) && c_empty(&s->req)) { - offer++; + if (c_size(&s->req) == global.tune.bufsize) + offer++; b_free(&s->req.buf); } if (c_size(&s->res) && c_empty(&s->res)) { - offer++; + if (c_size(&s->res) == global.tune.bufsize) + offer++; b_free(&s->res.buf); }