From: Maria Matejka Date: Thu, 27 Jun 2024 12:35:47 +0000 (+0200) Subject: fixup! fixup! fixup! IO: Allow to take new loops if the thread is hot, but only one... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b03625698bc83148baa5d49212ba145193115d57;p=thirdparty%2Fbird.git fixup! fixup! fixup! IO: Allow to take new loops if the thread is hot, but only one at time --- diff --git a/sysdep/unix/io-loop.c b/sysdep/unix/io-loop.c index bbe4dc2b0..6dca5f3c9 100644 --- a/sysdep/unix/io-loop.c +++ b/sysdep/unix/io-loop.c @@ -691,8 +691,8 @@ birdloop_take(struct birdloop_pickup_group *group) UNLOCK_DOMAIN(attrs, group->domain); uint dropped = 0; - node *n; - WALK_LIST2(loop, n, this_thread->loops, n) + node *n, *_nxt; + WALK_LIST2_DELSAFE(loop, n, _nxt, this_thread->loops, n) { birdloop_enter(loop); if (ev_active(&loop->event) && !loop->stopped && !birdloop_hot_potato(loop))