Skip to content

Commit

Permalink
[sync] 4.27
Browse files Browse the repository at this point in the history
  • Loading branch information
Marc Lehmann authored and kindy committed Jul 15, 2019
1 parent 6be5000 commit 9fce8c7
Show file tree
Hide file tree
Showing 18 changed files with 2,008 additions and 302 deletions.
32 changes: 17 additions & 15 deletions cvs-vers
Original file line number Diff line number Diff line change
@@ -1,35 +1,37 @@
Changes:1.325
Changes:1.342
LICENSE:1.11
Makefile.am:1.9
README:1.21
README:1.22
README.embed:1.29
Symbols.ev:1.14
Symbols.event:1.4
autogen.sh:1.3
configure.ac:1.43
configure.ac:1.44
ev++.C:1.3
ev++.h:1.65
ev.3:1.99
ev.c:1.489
ev.h:1.190
ev.c:1.508
ev.h:1.196
ev.html:1.80
ev.m4:1.2
ev.pod:1.446
ev_epoll.c:1.72
ev_kqueue.c:1.56
ev_poll.c:1.40
ev_port.c:1.29
ev_select.c:1.56
ev_vars.h:1.59
ev_win32.c:1.18
ev_wrap.h:1.38
ev.pod:1.456
ev_epoll.c:1.81
ev_iouring.c:1.2
ev_kqueue.c:1.60
ev_linuxaio.c:1.50
ev_poll.c:1.47
ev_port.c:1.32
ev_select.c:1.57
ev_vars.h:1.65
ev_win32.c:1.20
ev_wrap.h:1.42
evdns.c:1.23
evdns.h:1.2
event.c:1.52
event.h:1.26
event_compat.h:1.8
import_libevent:1.29
libev.m4:1.16
libev.m4:1.17
update_ev_c:1.2
update_ev_wrap:1.6
update_symbols:1.1
40 changes: 39 additions & 1 deletion src/Changes
Original file line number Diff line number Diff line change
@@ -1,12 +1,50 @@
Revision history for libev, a high-performance and full-featured event loop.

TODO: revisit 59.x timer in the light of modern powersaving
TODO: maybe use timerfd to detect time jumps on linux
TODO: document EV_TSTAMP_T
- linuxaio backend resulted in random memory corruption
when loop is forked.
- linuxaio backend might have tried to cancel an iocb
multiple times (was unable to trigger this).
- linuxaio backend now employs a generation counter to
avoid handling spurious events from cancelled requests.
- io_cancel can return EINTR, deal with it. also, assume
io_submit also returns EINTR.
- fix some other minor bugs in linuxaio backend.
- ev_tstamp type can now be overriden by defining EV_TSTAMP_T.
- cleanup: replace expect_true/false and noinline by their
libecb counterparts.
- move syscall infrastructure from ev_linuxaio.c to ev.c.
- prepare io_uring integration.
- tweak ev_floor.
- epoll, poll, win32 Sleep and other places that use millisecond
reslution now all try to round up times.

4.27 Thu Jun 27 22:43:44 CEST 2019
- 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
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.

4.25 Fri Dec 21 07:49:20 CET 2018
- INCOMPATIBLE CHANGE: EV_THROW was renamed to EV_NOEXCEPT
(EV_THROW still provided) and now uses noexcept on C++11 or newer.
- move the darwin select workaround highe rin ev.c, as newer versions of
- move the darwin select workaround higher in ev.c, as newer versions of
darwin managed to break their broken select even more.
- ANDROID => __ANDROID__ (reported by [email protected]).
- disable epoll_create1 on android because it has broken header files
Expand Down
3 changes: 2 additions & 1 deletion src/README
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ ABOUT
- extensive and detailed, readable documentation (not doxygen garbage).
- fully supports fork, can detect fork in various ways and automatically
re-arms kernel mechanisms that do not support fork.
- highly optimised select, poll, epoll, kqueue and event ports backends.
- highly optimised select, poll, linux epoll, linux aio, bsd kqueue
and solaris event ports backends.
- filesystem object (path) watching (with optional linux inotify support).
- wallclock-based times (using absolute time, cron-like).
- relative timers/timeouts (handle time jumps).
Expand Down
2 changes: 1 addition & 1 deletion src/configure.ac
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
dnl also update ev.h!
AC_INIT([libev], [4.25])
AC_INIT([libev], [4.27])

orig_CFLAGS="$CFLAGS"

Expand Down
Loading

0 comments on commit 9fce8c7

Please sign in to comment.