summaryrefslogtreecommitdiff
path: root/ev.c
diff options
context:
space:
mode:
Diffstat (limited to 'ev.c')
-rw-r--r--ev.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ev.c b/ev.c
index a780297..fada483 100644
--- a/ev.c
+++ b/ev.c
@@ -813,6 +813,9 @@ evpipe_init (EV_P)
ev_io_set (&pipeev, evpipe [0], EV_READ);
ev_io_start (EV_A_ &pipeev);
ev_unref (EV_A); /* watcher should not keep loop alive */
+
+ /* in case we received the signal before we had the chance of installing a handler */
+ ev_feed_event (EV_A_ &pipeev, 0);
}
}
@@ -840,7 +843,7 @@ pipecb (EV_P_ ev_io *iow, int revents)
read (evpipe [0], &dummy, 1);
}
- if (gotsig)
+ if (gotsig && ev_is_default_loop (EV_A))
{
int signum;
gotsig = 0;