Browse Source

libeio bugfix part 2

Reverts the change to deps/libeio/eio.c added in
04dd2d51be
It wasn't a bug, I was just using eio incorrectly.

See http://lists.schmorp.de/pipermail/libev/2010q1/000855.html
v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
3f39772834
  1. 3
      deps/libeio/eio.c
  2. 4
      src/node.cc

3
deps/libeio/eio.c

@ -548,9 +548,6 @@ static int etp_poll (void)
} }
} }
if (want_poll_cb)
want_poll_cb ();
errno = EAGAIN; errno = EAGAIN;
return -1; return -1;
} }

4
src/node.cc

@ -721,7 +721,9 @@ static void EIOCallback(EV_P_ ev_async *watcher, int revents) {
assert(revents == EV_ASYNC); assert(revents == EV_ASYNC);
// Give control to EIO to process responses. In nearly every case // Give control to EIO to process responses. In nearly every case
// EIOPromise::After() (file.cc) is called once EIO receives the response. // EIOPromise::After() (file.cc) is called once EIO receives the response.
eio_poll(); if (-1 == eio_poll() && !ev_async_pending(&eio_watcher)) {
ev_async_send(EV_DEFAULT_UC_ &eio_watcher);
}
} }
// EIOWantPoll() is called from the EIO thread pool each time an EIO // EIOWantPoll() is called from the EIO thread pool each time an EIO

Loading…
Cancel
Save