diff --git a/ev.c b/ev.c index 127c50f..a5fee54 100644 --- a/ev.c +++ b/ev.c @@ -1419,7 +1419,7 @@ evpipe_init (EV_P) } } -inline_size void +inline_speed void evpipe_write (EV_P_ EV_ATOMIC_T *flag) { if (!*flag) @@ -1430,11 +1430,12 @@ evpipe_write (EV_P_ EV_ATOMIC_T *flag) if (pipe_write_wanted) { - int old_errno = errno; /* save errno because write will clobber it */ - char dummy; + int old_errno; pipe_write_skipped = 0; + old_errno = errno; /* save errno because write will clobber it */ + #if EV_USE_EVENTFD if (evfd >= 0) { @@ -1449,7 +1450,7 @@ evpipe_write (EV_P_ EV_ATOMIC_T *flag) /* so when you think this write should be a send instead, please find out */ /* where your send() is from - it's definitely not the microsoft send, and */ /* tell me. thank you. */ - write (evpipe [1], &dummy, 1); + write (evpipe [1], &(evpipe [1]), 1); } errno = old_errno;