Browse Source

*** empty log message ***

master
Marc Alexander Lehmann 2 years ago
parent
commit
81d29eb945
  1. 7
      Changes
  2. 4
      ev_linuxaio.c

7
Changes

@ -1,8 +1,13 @@
Revision history for libev, a high-performance and full-featured event loop.
TODO: revisit 59.x timer in the light of mdoenr powersaving
- io_cancel can return EINTR, deal with it. also, assume
io_asubmit also retursn EINTR.
4.27 Thu Jun 27 22:43:44 CEST 2019
- linux aio backend almost complete rewritten to work around its
- linux aio backend almost completely rewritten to work around its
limitations.
- linux aio backend now requires linux 4.19+.
- epoll backend now mandatory for linux aio backend.
- fail assertions more aggressively on invalid fd's detected
in the event loop, do not just silently fd_kill in case of

4
ev_linuxaio.c

@ -301,7 +301,7 @@ linuxaio_modify (EV_P_ int fd, int oev, int nev)
{
evsys_io_cancel (linuxaio_ctx, &iocb->io, (struct io_event *)0);
/* on relevant kernels, io_cancel fails with EINPROGRES if everything is fine */
assert (("libev: linuxaio unexpected io_cancel failed", errno == EINPROGRESS));
assert (("libev: linuxaio unexpected io_cancel failed", errno == EINPROGRESS || errno == EINTR));
}
if (nev)
@ -555,6 +555,8 @@ linuxaio_poll (EV_P_ ev_tstamp timeout)
res = 1; /* skip this iocb */
}
else if (errno == EINTR)
/* silently ignored */;
else
ev_syserr ("(libev) linuxaio io_submit");

Loading…
Cancel
Save