From 69cfe89ca44466f295ce88faf92aabf187c9cf95 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 19 Jan 2013 13:39:47 +0100 Subject: [PATCH 1/1] move listener unblocking to a separate stack context via uloop timer Signed-off-by: Felix Fietkau --- listen.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/listen.c b/listen.c index d51e600..37fc4bb 100644 --- a/listen.c +++ b/listen.c @@ -52,7 +52,7 @@ static void uh_block_listener(struct listener *l) l->blocked = true; } -void uh_unblock_listeners(void) +static void uh_poll_listeners(struct uloop_timeout *timeout) { struct listener *l; @@ -74,6 +74,15 @@ void uh_unblock_listeners(void) } } +void uh_unblock_listeners(void) +{ + static struct uloop_timeout poll_timer = { + .cb = uh_poll_listeners + }; + + uloop_timeout_set(&poll_timer, 1); +} + static void listener_cb(struct uloop_fd *fd, unsigned int events) { struct listener *l = container_of(fd, struct listener, fd); -- 2.11.0