From: Maria Matejka Date: Thu, 13 Nov 2025 14:18:47 +0000 (+0100) Subject: IO loop balancer: fix invalid locking combination X-Git-Tag: v3.2.0~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f9d7cde9f525951f3898fab6fabe2209d218f1af;p=thirdparty%2Fbird.git IO loop balancer: fix invalid locking combination Oversight introduced in c368ad59d8d39ba5bfe350fdb3641275ee3e3ec5. --- diff --git a/sysdep/unix/io-loop.c b/sysdep/unix/io-loop.c index d0c5512ef..edef74e56 100644 --- a/sysdep/unix/io-loop.c +++ b/sysdep/unix/io-loop.c @@ -828,7 +828,7 @@ birdloop_balancer(void) uint dropped = 0; WALK_TLIST_DELSAFE(birdloop, loop, &this_thread->loops) { - BIRDLOOP_ENTER(loop); + birdloop_enter(loop); if (ev_active(&loop->event) && !loop->stopped && !birdloop_hot_potato(loop)) { /* Pass to another thread */ @@ -850,6 +850,7 @@ birdloop_balancer(void) break; } } + birdloop_leave(loop); } if (dropped)