diff options
-rw-r--r-- | ev.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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; } } |