ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/EV/Changes
(Generate patch)

Comparing EV/Changes (file contents):
Revision 1.208 by root, Mon Dec 12 16:32:24 2011 UTC vs.
Revision 1.248 by root, Fri Jan 24 13:22:22 2020 UTC

1Revision history for Perl extension EV 1Revision history for Perl extension EV
2 2
3Changes marked with (libev) are changes in libev, and have more 3Changes marked with (libev) are changes in libev, and might have more
4documentation in the libev Changes file. 4documentation in the libev Changes file.
5 5
64.32 Fri Jan 24 14:21:35 CET 2020
7 - (libev) fixed a bug introduced in 4.31 when timerfds and signalfds were
8 used at the same time.
9 - (libev) 0 is now allowed as requested event mask in io watchers.
10 - (libev) once-per-minute wakeups will now be optimized away when
11 timerfds are available
12 - use the new ev_io_modify in EV::IO->events, instead of the potentially
13 slower ev_io_set.
14 - add a bunch of mutator methods, mostly untested(!): EV::Timer->repeat,
15 EV::Periodic->offset, EV::Periodic->interval,
16 EV::Periodic->reschedule_cb.
17 - minor optimisations and bugfixes.
18
194.31 Fri Dec 20 21:57:00 CET 2019
20 - (libev) handle backends with minimum wait time a bit better by
21 not waiting in the presence of already-expired timers
22 (behaviour reported by Felipe Gasper).
23 - (libev) use timerfd to detect timejumps.
24 - (libev) new loop flag: EVFLAG_NOTIMERFD.
25
264.30 Fri Nov 22 21:00:00 CET 2019
27 - (libev) use a different and hopefully even more portable
28 test to disable io_uring when header files are too old,
29 by directly testing LINUX_VERSION_CODE.
30 - (libev) fix a bug in the io_uring backend that polled the wrong
31 backend fd, causing it to not work in many cases.
32
334.29 Fri Nov 22 15:34:29 CET 2019
34 - (libev) add io uring autoconf and non-autoconf detection,
35 the latter of which should disable io_uring compilation
36 on old systems.
37
384.28 Tue Nov 19 13:55:39 CET 2019
39 - (libev) fix ev_port backend, thanks to David H. Gutteridge for
40 - (libev) many bugfixes in linuxaio backend.
41 - (libev) experimental io uring interface.
42 reminding me to actually release the fix.
43 - try to name ev.h more explicitly, to hopefully improve portability.
44 - opportunistically round up wait times for poll and epoll backend,
45 to avoid unnecessary loop iterations.
46 - add build dependency on ev_linuxaio.c.
47 - quickly (re)-ported to minix 3.3 before minix crashed again.
48
494.27 Thu Jun 27 09:39:58 CEST 2019
50 - (libev) completely rewritten linuxaio backend, maybe
51 usable as a general-use backend.
52 - (libev) use more aggressive assertions to catch
53 more usage errors.
54 - allow users to re-enable assert() in case it is disabled
55 by perl (which is typically the case).
56
574.26 Mon Jun 24 23:39:40 CEST 2019
58 - (libev) included experimental linux aio backend.
59 - allow the linux aio backend to be used by default
60 only when explicitly configured during Makefile.PL time.
61
624.25 Fri Dec 21 08:04:26 CET 2018
63 - (libev) updated to libev 4.25, minor fixes and enhancements.
64 - document the requirement to "use EV" when using EV::MakeMaker.
65 - only use __register_atfork with glibc and uclibc, as musl
66 defines __linux__, but doesn't implement the linux standard
67 base ABI, nor makes itself detectable via a macro, both apparently
68 by design, winning the "broken by design 2016 award" - well done.
69 - correct EV::periodic example 24h after midnight -> one day after
70 midnight (reported by Felix Ostmann).
71
724.22 Sun Dec 20 02:34:39 CET 2015
73 - (libev) when epoll detects unremovable fds in the fd set, rebuild
74 only the epoll descriptor, not the signal pipe, to avoid
75 SIGPIPE in ev_async_send. This doesn't solve it on fork,
76 so document what needs to be done in ev_loop_fork
77 (analyzed by Benjamin Mahler).
78 - (libev) remove superfluous sys/timeb.h include on win32
79 (analyzed by Jason Madden).
80 - updated libecb.
81
824.21 Mon Jul 13 21:47:33 CEST 2015
83 - allow argument in timer->again.
84 - document timer->remaining.
85 - document default repeat value for timer->set.
86
874.20 Sat Jun 20 13:07:34 CEST 2015
88 - added stability canary support.
89 - truly rely on automatic configuration for clock_gettime and others.
90 unfortunately, this doesn't help with activeperl and similar perls,
91 which define _POSIX_TIMERS without actually implementing any of it.
92 - (libev, ecb) make it compile as C++ again.
93 - (libev) fix a potential aliasing issue when accessing watcher cbs.
94
954.18 Sat Sep 6 20:37:23 CEST 2014
96 - use slightly better weay to find includes, to support multiarch
97 on newer perls.
98
994.17 Fri Apr 11 06:22:38 CEST 2014
100 - perl5porters broke Async::Interrupt, BDB, EV, IO::AIO, OpenCL
101 without warning by switching the meaning of USE_SOCKETS_AS_HANDLES
102 in 5.18. What's so attractive about giving a shit about backwards
103 compatibility - I will never understand.
104
1054.16 Sat Mar 8 16:49:05 CET 2014
106 - make sure EV::CHECK is available at all times.
107 - avoid a spurious warning when perl -w overrides "no warnings".
108 - use perl's signal implementation on WIN32.
109 - ensure extern "C" function pointers are used for externally-visible
110 pointers.
111 - (libev) mark event pipe fd as cloexec after a fork (analyzed by Sami Farin).
112 - (ecb) support m68k, m88k and sh (patch by Miod Vallat).
113 - (libev) in the absence of autoconf, do not use the clock syscall
114 on glibc >= 2.17 (avoids the syscall AND -lrt on systems
115 doing clock_gettime in userspace).
116 - (ecb) work around memory barriers and volatile apparently both being
117 broken in visual studio 2008 and later (analysed and patch by Nicolas Noble).
118
1194.15 Fri Mar 1 12:15:53 CET 2013
120 - (libev) upgrade to 4.15 - too many changes to list.
121 - EV::run now returns a boolean.
122 - API version 5:1.
123 - document that cleanup watchers are not available via perl.
124 - cast I32 to int in error message printf.
125 - remove dependencies on librt and libpthreads on GNU/Linux.
126
1274.11 Sat Feb 4 19:56:26 CET 2012
128 - (libev) implement memory fences for (obsolete) llvm-gcc.
129
1304.10 Thu Jan 19 18:54:23 CET 2012
131 - (libev) fix a race where the workaround against the epoll fork
132 bugs caused signals to not be handled anymore.
133 - (libev) correct backend_fudge for most backends, and implement
134 a windows specific workaround to avoid looping because we call
135 both select and Sleep, both with different time resolutions.
6 - e_new wasn't declared static (causing very minor .so bloat). 136 - e_new wasn't declared static (causing very minor .so bloat).
7 - replace more old api names by new ones. 137 - replace more old api names by new ones.
8 138
94.03 Tue Jan 11 14:51:05 CET 2011 1394.03 Tue Jan 11 14:51:05 CET 2011
10 - do not avoid the clock_gettime call on GNU/Linux anymore, as EV 140 - do not avoid the clock_gettime call on GNU/Linux anymore, as EV

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines