libev-4.27 has just been released

Marc Lehmann schmorp at
Thu Jun 27 23:02:26 CEST 2019

I am pleased to announce libev 4.27!


This release mainly adds a new backend, "linuxaio", which uses the new
event polling mechanism introduced with Linux 4.18 (but libev requires
at least 4.19).

The new backend should be ready for general use, but is not in the
"recommended" backend set, i.e., it will not be chosen by default unless
explicitly requested either by adding EVBACKEND_LINUXAIO to your flags
when creating a loop, or by setting the LIBEV_FLAGS environment variable.

The linuxaio backend will likely be enabled by default, and take
precedence over epoll, in a future release (likely 4.28).

For example, to run a program using linuxaio if available, but keep
fallbacks to epoll and poll/select, you can run it like this:

   LIBEV_FLAGS=127 ./myprog

Or to try forcing linuxaio:

   LIBEV_FLAGS=64 ./myprog

Feedback appreciated.

The complete Changes since 4.25 are:

4.27 Thu Jun 27 22:43:44 CEST 2019
	- linux aio backend almost complete rewritten to work around its
        - 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
          user error.
        - ev_io_start/ev_io_stop now verify the watcher fd using
          a syscall when EV_VERIFY is 2 or higher.

4.26 (EV only)
	- update to libecb 0x00010006.
	- new experimental linux aio backend (linux 4.18+).
	- removed redundant 0-ptr check in ev_once.
        - updated/extended ev_set_allocator documentation.
        - replaced EMPTY2 macro by array_needsize_noinit.
        - minor code cleanups.
        - epoll backend now uses epoll_create1 also after fork.

                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_    
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      schmorp at
      -=====/_/_//_/\_,_/ /_/\_\

More information about the libev mailing list