From: Christopher Faulet Date: Mon, 28 Feb 2022 16:27:09 +0000 (+0100) Subject: DEBUG: stream-int: Fix BUG_ON used to test appctx in si_applet_ops callbacks X-Git-Tag: v2.6-dev3~104 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8bc1759f609ef4e34d3b303b3c72517b4f4b2f4a;p=thirdparty%2Fhaproxy.git DEBUG: stream-int: Fix BUG_ON used to test appctx in si_applet_ops callbacks 693b23bb1 ("MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant") introduced a regression in DEBUG_STRICT mode because some BUG_ON conditions were inverted. It should ok now. In addition, ALREADY_CHECKED macro was removed from appctx_wakeup() function because it is useless now. --- diff --git a/include/haproxy/applet.h b/include/haproxy/applet.h index b4c33ea26f..97b9c347b4 100644 --- a/include/haproxy/applet.h +++ b/include/haproxy/applet.h @@ -113,8 +113,6 @@ static inline void appctx_free(struct appctx *appctx) /* wakes up an applet when conditions have changed */ static inline void appctx_wakeup(struct appctx *appctx) { - ALREADY_CHECKED(appctx); - task_wakeup(appctx->t, TASK_WOKEN_OTHER); } diff --git a/src/stream_interface.c b/src/stream_interface.c index c5112dfe58..35f66d749c 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -1656,7 +1656,7 @@ void si_applet_wake_cb(struct stream_interface *si) { struct channel *ic = si_ic(si); - BUG_ON(cs_appctx(si->cs)); + BUG_ON(!cs_appctx(si->cs)); /* If the applet wants to write and the channel is closed, it's a * broken pipe and it must be reported. @@ -1696,7 +1696,7 @@ static void stream_int_shutr_applet(struct stream_interface *si) { struct channel *ic = si_ic(si); - BUG_ON(cs_appctx(si->cs)); + BUG_ON(!cs_appctx(si->cs)); si_rx_shut_blk(si); if (ic->flags & CF_SHUTR) @@ -1732,7 +1732,7 @@ static void stream_int_shutw_applet(struct stream_interface *si) struct channel *ic = si_ic(si); struct channel *oc = si_oc(si); - BUG_ON(cs_appctx(si->cs)); + BUG_ON(!cs_appctx(si->cs)); oc->flags &= ~CF_SHUTW_NOW; if (oc->flags & CF_SHUTW) @@ -1785,7 +1785,7 @@ static void stream_int_chk_rcv_applet(struct stream_interface *si) { struct channel *ic = si_ic(si); - BUG_ON(cs_appctx(si->cs)); + BUG_ON(!cs_appctx(si->cs)); DPRINTF(stderr, "%s: si=%p, si->state=%d ic->flags=%08x oc->flags=%08x\n", __FUNCTION__, @@ -1802,7 +1802,7 @@ static void stream_int_chk_snd_applet(struct stream_interface *si) { struct channel *oc = si_oc(si); - BUG_ON(cs_appctx(si->cs)); + BUG_ON(!cs_appctx(si->cs)); DPRINTF(stderr, "%s: si=%p, si->state=%d ic->flags=%08x oc->flags=%08x\n", __FUNCTION__,