From d18db5d76a04a516a7ae0694522d3f6a46772f3b Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 Feb 2008 19:13:50 +0000 Subject: async events might shadow signal events and vice versa, fixed --- ev.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ev.c b/ev.c index 6d5f18a..2b3d476 100644 --- a/ev.c +++ b/ev.c @@ -819,15 +819,15 @@ evpipe_init (EV_P) void inline_size evpipe_write (EV_P_ int sig, int async) { - if (!(gotasync || gotsig)) - { - int old_errno = errno; /* save errno becaue write might clobber it */ + int sent = gotasync || gotsig; - if (sig) gotsig = 1; - if (async) gotasync = 1; + if (sig) gotsig = 1; + if (async) gotasync = 1; + if (!sent) + { + int old_errno = errno; /* save errno becaue write might clobber it */ write (evpipe [1], &old_errno, 1); - errno = old_errno; } } -- cgit v1.2.3