From bc9cc7d41419d33d5a614a0041b6e9ff4613829a Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Sun, 23 Feb 2025 09:01:22 +0100 Subject: [PATCH] this is a bad BIRDLOOP_INSIDE macro, don't like it --- lib/io-loop.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/io-loop.h b/lib/io-loop.h index c043d1a0f..d3b32e5d6 100644 --- a/lib/io-loop.h +++ b/lib/io-loop.h @@ -61,6 +61,11 @@ void birdloop_leave(struct birdloop *loop); bool birdloop_inside(struct birdloop *loop); +#define BIRDLOOP_INSIDE(_loop) for ( \ + struct birdloop *_loop_inside = (birdloop_inside(_loop) ? (struct birdloop *) 1 : (birdloop_enter(_loop), _loop)); \ + _loop_inside; \ + _loop_inside = ((_loop_inside == _loop) ? (birdloop_leave(_loop_inside), NULL) : NULL)) + void birdloop_mask_wakeups(struct birdloop *loop); void birdloop_unmask_wakeups(struct birdloop *loop); -- 2.47.2