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

Comparing EV/Changes (file contents):
Revision 1.196 by root, Mon Oct 25 11:30:45 2010 UTC vs.
Revision 1.250 by root, Tue Feb 18 18:26:47 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
6 - the enable assertion makefile question failed to enable
7 assertions due to a typo.
8 - try harder to avoid perl's assert () which does not actually
9 behave correctly.
10
114.32 Fri Jan 24 14:21:35 CET 2020
12 - (libev) fixed a bug introduced in 4.31 when timerfds and signalfds were
13 used at the same time.
14 - (libev) 0 is now allowed as requested event mask in io watchers.
15 - (libev) once-per-minute wakeups will now be optimized away when
16 timerfds are available
17 - use the new ev_io_modify in EV::IO->events, instead of the potentially
18 slower ev_io_set.
19 - add a bunch of mutator methods, mostly untested(!): EV::Timer->repeat,
20 EV::Periodic->offset, EV::Periodic->interval,
21 EV::Periodic->reschedule_cb.
22 - minor optimisations and bugfixes.
23
244.31 Fri Dec 20 21:57:00 CET 2019
25 - (libev) handle backends with minimum wait time a bit better by
26 not waiting in the presence of already-expired timers
27 (behaviour reported by Felipe Gasper).
28 - (libev) use timerfd to detect timejumps.
29 - (libev) new loop flag: EVFLAG_NOTIMERFD.
30
314.30 Fri Nov 22 21:00:00 CET 2019
32 - (libev) use a different and hopefully even more portable
33 test to disable io_uring when header files are too old,
34 by directly testing LINUX_VERSION_CODE.
35 - (libev) fix a bug in the io_uring backend that polled the wrong
36 backend fd, causing it to not work in many cases.
37
384.29 Fri Nov 22 15:34:29 CET 2019
39 - (libev) add io uring autoconf and non-autoconf detection,
40 the latter of which should disable io_uring compilation
41 on old systems.
42
434.28 Tue Nov 19 13:55:39 CET 2019
44 - (libev) fix ev_port backend, thanks to David H. Gutteridge for
45 - (libev) many bugfixes in linuxaio backend.
46 - (libev) experimental io uring interface.
47 reminding me to actually release the fix.
48 - try to name ev.h more explicitly, to hopefully improve portability.
49 - opportunistically round up wait times for poll and epoll backend,
50 to avoid unnecessary loop iterations.
51 - add build dependency on ev_linuxaio.c.
52 - quickly (re)-ported to minix 3.3 before minix crashed again.
53
544.27 Thu Jun 27 09:39:58 CEST 2019
55 - (libev) completely rewritten linuxaio backend, maybe
56 usable as a general-use backend.
57 - (libev) use more aggressive assertions to catch
58 more usage errors.
59 - allow users to re-enable assert() in case it is disabled
60 by perl (which is typically the case).
61
624.26 Mon Jun 24 23:39:40 CEST 2019
63 - (libev) included experimental linux aio backend.
64 - allow the linux aio backend to be used by default
65 only when explicitly configured during Makefile.PL time.
66
674.25 Fri Dec 21 08:04:26 CET 2018
68 - (libev) updated to libev 4.25, minor fixes and enhancements.
69 - document the requirement to "use EV" when using EV::MakeMaker.
70 - only use __register_atfork with glibc and uclibc, as musl
71 defines __linux__, but doesn't implement the linux standard
72 base ABI, nor makes itself detectable via a macro, both apparently
73 by design, winning the "broken by design 2016 award" - well done.
74 - correct EV::periodic example 24h after midnight -> one day after
75 midnight (reported by Felix Ostmann).
76
774.22 Sun Dec 20 02:34:39 CET 2015
78 - (libev) when epoll detects unremovable fds in the fd set, rebuild
79 only the epoll descriptor, not the signal pipe, to avoid
80 SIGPIPE in ev_async_send. This doesn't solve it on fork,
81 so document what needs to be done in ev_loop_fork
82 (analyzed by Benjamin Mahler).
83 - (libev) remove superfluous sys/timeb.h include on win32
84 (analyzed by Jason Madden).
85 - updated libecb.
86
874.21 Mon Jul 13 21:47:33 CEST 2015
88 - allow argument in timer->again.
89 - document timer->remaining.
90 - document default repeat value for timer->set.
91
924.20 Sat Jun 20 13:07:34 CEST 2015
93 - added stability canary support.
94 - truly rely on automatic configuration for clock_gettime and others.
95 unfortunately, this doesn't help with activeperl and similar perls,
96 which define _POSIX_TIMERS without actually implementing any of it.
97 - (libev, ecb) make it compile as C++ again.
98 - (libev) fix a potential aliasing issue when accessing watcher cbs.
99
1004.18 Sat Sep 6 20:37:23 CEST 2014
101 - use slightly better weay to find includes, to support multiarch
102 on newer perls.
103
1044.17 Fri Apr 11 06:22:38 CEST 2014
105 - perl5porters broke Async::Interrupt, BDB, EV, IO::AIO, OpenCL
106 without warning by switching the meaning of USE_SOCKETS_AS_HANDLES
107 in 5.18. What's so attractive about giving a shit about backwards
108 compatibility - I will never understand.
109
1104.16 Sat Mar 8 16:49:05 CET 2014
111 - make sure EV::CHECK is available at all times.
112 - avoid a spurious warning when perl -w overrides "no warnings".
113 - use perl's signal implementation on WIN32.
114 - ensure extern "C" function pointers are used for externally-visible
115 pointers.
116 - (libev) mark event pipe fd as cloexec after a fork (analyzed by Sami Farin).
117 - (ecb) support m68k, m88k and sh (patch by Miod Vallat).
118 - (libev) in the absence of autoconf, do not use the clock syscall
119 on glibc >= 2.17 (avoids the syscall AND -lrt on systems
120 doing clock_gettime in userspace).
121 - (ecb) work around memory barriers and volatile apparently both being
122 broken in visual studio 2008 and later (analysed and patch by Nicolas Noble).
123
1244.15 Fri Mar 1 12:15:53 CET 2013
125 - (libev) upgrade to 4.15 - too many changes to list.
126 - EV::run now returns a boolean.
127 - API version 5:1.
128 - document that cleanup watchers are not available via perl.
129 - cast I32 to int in error message printf.
130 - remove dependencies on librt and libpthreads on GNU/Linux.
131
1324.11 Sat Feb 4 19:56:26 CET 2012
133 - (libev) implement memory fences for (obsolete) llvm-gcc.
134
1354.10 Thu Jan 19 18:54:23 CET 2012
136 - (libev) fix a race where the workaround against the epoll fork
137 bugs caused signals to not be handled anymore.
138 - (libev) correct backend_fudge for most backends, and implement
139 a windows specific workaround to avoid looping because we call
140 both select and Sleep, both with different time resolutions.
141 - e_new wasn't declared static (causing very minor .so bloat).
142 - replace more old api names by new ones.
143
1444.03 Tue Jan 11 14:51:05 CET 2011
145 - do not avoid the clock_gettime call on GNU/Linux anymore, as EV
146 links against -lpthread anyways - as a result, EV might now take
147 advantage of fast userspace clock_gettime implementations,
148 but also links against -lrt.
149 - (libev) lots of event port bug workarounds.
150 - (libev) officially support files in I/O watchers.
151 - (libev) new function ev_feed_signal.
152 - fix documentation parts still refering to the 3.x API.
153
1544.02 Thu Dec 30 08:27:41 CET 2010
155 - the revents argument did not stringify correctly, as only the
156 numeric value was updated, while the string value was kept from
157 previous invocations.
158
1594.01 Sun Dec 5 12:42:13 CET 2010
160 - fully support EV_COMPAT3=0.
161 - default_fork was stupidly defined as inline.
162 - ask cpan to upgrade AnyEvent if < 5.29.
163 - support EV_EXTRA_DEFS during configuration.
164 - support -DEV_NO_LOOPS for snakker build.
5 165
64.00 Mon Oct 25 13:30:09 CEST 2010 1664.00 Mon Oct 25 13:30:09 CEST 2010
7 - many API changes, see the manual. 167 - many API changes, see the manual.
8 - (libev) lots and lots of bugfixes, see the ev documentation. 168 - (libev) lots and lots of bugfixes, see the ev documentation.
9 - fix a bug where inotify usage would parse the same event 169 - fix a bug where inotify usage would parse the same event

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines