From: Felix Fietkau Date: Sat, 19 Jan 2013 12:39:47 +0000 (+0100) Subject: move listener unblocking to a separate stack context via uloop timer X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=69cfe89ca44466f295ce88faf92aabf187c9cf95;p=project%2Fuhttpd.git move listener unblocking to a separate stack context via uloop timer Signed-off-by: Felix Fietkau --- 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);