Browse Source

*** empty log message ***

master
Marc Alexander Lehmann 1 year ago
parent
commit
81d29eb945
2 changed files with 9 additions and 2 deletions
  1. +6
    -1
      Changes
  2. +3
    -1
      ev_linuxaio.c

+ 6
- 1
Changes View File

@ -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


+ 3
- 1
ev_linuxaio.c View File

@ -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