]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
IO loop balancer: fix invalid locking combination
authorMaria Matejka <mq@ucw.cz>
Thu, 13 Nov 2025 14:18:47 +0000 (15:18 +0100)
committerMaria Matejka <mq@ucw.cz>
Thu, 13 Nov 2025 14:18:47 +0000 (15:18 +0100)
Oversight introduced in c368ad59d8d39ba5bfe350fdb3641275ee3e3ec5.

sysdep/unix/io-loop.c

index d0c5512ef4e9cc7ae70cfb823a8c1e768b7e62d2..edef74e564ff9b43b8237eba3ea493c13121e9bc 100644 (file)
@@ -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)