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;      }  } | 
