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

Comparing EV/Changes (file contents):
Revision 1.193 by root, Thu Oct 21 02:46:59 2010 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.00 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.
136 - e_new wasn't declared static (causing very minor .so bloat).
137 - replace more old api names by new ones.
138
1394.03 Tue Jan 11 14:51:05 CET 2011
140 - do not avoid the clock_gettime call on GNU/Linux anymore, as EV
141 links against -lpthread anyways - as a result, EV might now take
142 advantage of fast userspace clock_gettime implementations,
143 but also links against -lrt.
144 - (libev) lots of event port bug workarounds.
145 - (libev) officially support files in I/O watchers.
146 - (libev) new function ev_feed_signal.
147 - fix documentation parts still refering to the 3.x API.
148
1494.02 Thu Dec 30 08:27:41 CET 2010
150 - the revents argument did not stringify correctly, as only the
151 numeric value was updated, while the string value was kept from
152 previous invocations.
153
1544.01 Sun Dec 5 12:42:13 CET 2010
155 - fully support EV_COMPAT3=0.
156 - default_fork was stupidly defined as inline.
157 - ask cpan to upgrade AnyEvent if < 5.29.
158 - support EV_EXTRA_DEFS during configuration.
159 - support -DEV_NO_LOOPS for snakker build.
160
1614.00 Mon Oct 25 13:30:09 CEST 2010
162 - many API changes, see the manual.
163 - (libev) lots and lots of bugfixes, see the ev documentation.
7 - fix a bug where inotify usage would parse the same event 164 - fix a bug where inotify usage would parse the same event
8 multiple times, causing various forms of breakage. 165 multiple times, causing various forms of breakage.
9 - greatly reduce stack usage for inotify (8kb to <0.5kb). 166 - greatly reduce stack usage for inotify (8kb to <0.5kb).
10 - renamed loop_verify to verify, loop_count to iteration and
11 loop_depth to depth.
12 - expose ev_depth and ev_verify via the XS API. 167 - expose ev_depth and ev_verify via the XS API.
168 - implement ev_cleanup watchers.
13 - (libev) ev_embed_stop did not correctly stop the watcher. 169 - (libev) ev_embed_stop did not correctly stop the watcher.
14 - (libev) disable poll backend on AIX. 170 - (libev) disable poll backend on AIX.
15 - (libev) rename EV_TIMEOUT to EV_TIMER. 171 - (libev) rename EV_TIMEOUT to EV_TIMER.
16 - (libev) add section on accept() problems to the manpage. 172 - (libev) add section on accept() problems to the manpage.
17 - (libev) no child watchers on win32. 173 - (libev) no child watchers on win32.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines