From 4a42af17440d9eb09ea7fb699924297871c7b760 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 7 May 2024 20:09:04 +0200 Subject: [PATCH] MINOR: applet: adjust the allocation criticity based on the requested buffer When we want to allocate an in buffer, it's in order to pass data to the applet, that will consume it, so it must be seen as the same as a send() from the higher level, i.e. MUX_TX. And for the outbuf, it's a stream endpoint returning data, i.e. DB_SE_RX. --- include/haproxy/applet.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/haproxy/applet.h b/include/haproxy/applet.h index e2762458f..2beacf4e4 100644 --- a/include/haproxy/applet.h +++ b/include/haproxy/applet.h @@ -95,8 +95,8 @@ static inline struct buffer *appctx_get_buf(struct appctx *appctx, struct buffer int is_inbuf = (bptr == &appctx->inbuf); if (likely(!LIST_INLIST(&appctx->buffer_wait.list))) { - if (unlikely((buf = b_alloc(bptr, DB_SE_RX)) == NULL)) { - b_queue(DB_SE_RX, &appctx->buffer_wait, appctx, appctx_buf_available); + if (unlikely((buf = b_alloc(bptr, is_inbuf ? DB_MUX_TX : DB_SE_RX)) == NULL)) { + b_queue(is_inbuf ? DB_MUX_TX : DB_SE_RX, &appctx->buffer_wait, appctx, appctx_buf_available); applet_fl_set(appctx, is_inbuf ? APPCTX_FL_INBLK_ALLOC : APPCTX_FL_OUTBLK_ALLOC); } } -- 2.47.3