|
|
|
@ -817,17 +817,15 @@ evpipe_init (EV_P)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void inline_size
|
|
|
|
|
evpipe_write (EV_P_ int sig, int async)
|
|
|
|
|
evpipe_write (EV_P_ EV_ATOMIC_T *flag)
|
|
|
|
|
{
|
|
|
|
|
int sent = gotasync || gotsig;
|
|
|
|
|
|
|
|
|
|
if (sig) gotsig = 1;
|
|
|
|
|
if (async) gotasync = 1;
|
|
|
|
|
|
|
|
|
|
if (!sent)
|
|
|
|
|
if (!*flag)
|
|
|
|
|
{
|
|
|
|
|
int old_errno = errno; /* save errno becaue write might clobber it */
|
|
|
|
|
|
|
|
|
|
*flag = 1;
|
|
|
|
|
write (evpipe [1], &old_errno, 1);
|
|
|
|
|
|
|
|
|
|
errno = old_errno;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -880,7 +878,7 @@ sighandler (int signum)
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
signals [signum - 1].gotsig = 1;
|
|
|
|
|
evpipe_write (EV_A_ 1, 0);
|
|
|
|
|
evpipe_write (EV_A_ &gotsig);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void noinline
|
|
|
|
@ -2470,7 +2468,7 @@ void
|
|
|
|
|
ev_async_send (EV_P_ ev_async *w)
|
|
|
|
|
{
|
|
|
|
|
w->sent = 1;
|
|
|
|
|
evpipe_write (EV_A_ 0, 1);
|
|
|
|
|
evpipe_write (EV_A_ &gotasync);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|