From 0417f1f2bef1e8899dad4564db797250ae2c8c49 Mon Sep 17 00:00:00 2001 From: claudio Date: Sat, 5 Dec 2015 13:18:24 +0000 Subject: [PATCH] EAGAIN handling for imsg_read. OK henning@ benno@ --- proc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/proc.c b/proc.c index 593c1b8b..5f51b0ac 100644 --- a/proc.c +++ b/proc.c @@ -61,7 +61,8 @@ proc_event_cb(__unused int fd, short events, void *arg) struct imsg imsg; if (!(peer->flags & PEER_BAD) && (events & EV_READ)) { - if ((n = imsg_read(&peer->ibuf)) == -1 || n == 0) { + if (((n = imsg_read(&peer->ibuf)) == -1 && errno != EAGAIN) || + n == 0) { peer->dispatchcb(NULL, peer->arg); return; }