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

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines