1 | Revision history for Perl extension EV |
1 | Revision history for Perl extension EV |
2 | |
2 | |
3 | Changes marked with (libev) are changes in libev, and have more |
3 | Changes marked with (libev) are changes in libev, and might have more |
4 | documentation in the libev Changes file. |
4 | documentation in the libev Changes file. |
5 | |
5 | |
6 | > > midnight, to keep the example simple. If you know a way to do it correctly |
6 | 4.31 Fri Dec 20 21:57:00 CET 2019 |
7 | > > in about the same space (without requiring elaborate modules), drop me a |
7 | - (libev) handle backends with minimum wait time a bit better by |
8 | > > note :): |
8 | not waiting in the presence of already-expired timers |
9 | > > |
9 | (behaviour reported by Felipe Gasper). |
10 | > > Dein Beispiel: |
10 | - (libev) use timerfd to detect timejumps. |
11 | > > use Time::Local (); |
11 | - (libev) new loop flag: EVFLAG_NOTIMERFD. |
12 | > > my (undef, undef, undef, $d, $m, $y) = localtime $now; |
|
|
13 | > > 86400 + Time::Local::timelocal 0, 0, 0, $d, $m, $y |
|
|
14 | > > |
|
|
15 | > > Meine bevorzugte Variante: |
|
|
16 | > > use Time::Local (); |
|
|
17 | > > my (undef, undef, undef, $d, $m, $y) = localtime $now; |
|
|
18 | > > (undef, undef, undef, $d, $m, $y) = localtime 86400 + 3600 + |
|
|
19 | > > Time::Local::timelocal 0, 0, 0, $d, $m, $y; |
|
|
20 | > > Time::Local::timelocal 0, 0, 0, $d, $m, $y; |
|
|
21 | > > |
|
|
22 | > > Golf: |
|
|
23 | > > use Time::Local (); |
|
|
24 | > > Time::Local::timelocal 0, 0, 0, (localtime 86400 + 3600 + |
|
|
25 | > > Time::Local::timelocal 0, 0, 0, (localtime $now)[3..5])[3..5]; |
|
|
26 | |
12 | |
|
|
13 | 4.30 Fri Nov 22 21:00:00 CET 2019 |
|
|
14 | - (libev) use a different and hopefully even more portable |
|
|
15 | test to disable io_uring when header files are too old, |
|
|
16 | by directly testing LINUX_VERSION_CODE. |
|
|
17 | - (libev) fix a bug in the io_uring backend that polled the wrong |
|
|
18 | backend fd, causing it to not work in many cases. |
|
|
19 | |
|
|
20 | 4.29 Fri Nov 22 15:34:29 CET 2019 |
|
|
21 | - (libev) add io uring autoconf and non-autoconf detection, |
|
|
22 | the latter of which should disable io_uring compilation |
|
|
23 | on old systems. |
|
|
24 | |
|
|
25 | 4.28 Tue Nov 19 13:55:39 CET 2019 |
|
|
26 | - (libev) fix ev_port backend, thanks to David H. Gutteridge for |
|
|
27 | - (libev) many bugfixes in linuxaio backend. |
|
|
28 | - (libev) experimental io uring interface. |
|
|
29 | reminding me to actually release the fix. |
|
|
30 | - try to name ev.h more explicitly, to hopefully improve portability. |
|
|
31 | - opportunistically round up wait times for poll and epoll backend, |
|
|
32 | to avoid unnecessary loop iterations. |
|
|
33 | - add build dependency on ev_linuxaio.c. |
|
|
34 | - quickly (re)-ported to minix 3.3 before minix crashed again. |
|
|
35 | |
|
|
36 | 4.27 Thu Jun 27 09:39:58 CEST 2019 |
|
|
37 | - (libev) completely rewritten linuxaio backend, maybe |
|
|
38 | usable as a general-use backend. |
|
|
39 | - (libev) use more aggressive assertions to catch |
|
|
40 | more usage errors. |
|
|
41 | - allow users to re-enable assert() in case it is disabled |
|
|
42 | by perl (which is typically the case). |
|
|
43 | |
|
|
44 | 4.26 Mon Jun 24 23:39:40 CEST 2019 |
|
|
45 | - (libev) included experimental linux aio backend. |
|
|
46 | - allow the linux aio backend to be used by default |
|
|
47 | only when explicitly configured during Makefile.PL time. |
|
|
48 | |
|
|
49 | 4.25 Fri Dec 21 08:04:26 CET 2018 |
|
|
50 | - (libev) updated to libev 4.25, minor fixes and enhancements. |
|
|
51 | - document the requirement to "use EV" when using EV::MakeMaker. |
27 | - only use __register_atfork with glibc and uclibc, as musl |
52 | - only use __register_atfork with glibc and uclibc, as musl |
28 | defines __linux__, but doesn't implement the linux standard |
53 | defines __linux__, but doesn't implement the linux standard |
29 | base ABI, nor makes itself detectable via a macro, both apparently |
54 | base ABI, nor makes itself detectable via a macro, both apparently |
30 | by design, winning the "broken by design 2016 award" - well done. |
55 | by design, winning the "broken by design 2016 award" - well done. |
|
|
56 | - correct EV::periodic example 24h after midnight -> one day after |
|
|
57 | midnight (reported by Felix Ostmann). |
31 | |
58 | |
32 | 4.22 Sun Dec 20 02:34:39 CET 2015 |
59 | 4.22 Sun Dec 20 02:34:39 CET 2015 |
33 | - (libev) when epoll detects unremovable fds in the fd set, rebuild |
60 | - (libev) when epoll detects unremovable fds in the fd set, rebuild |
34 | only the epoll descriptor, not the signal pipe, to avoid |
61 | only the epoll descriptor, not the signal pipe, to avoid |
35 | SIGPIPE in ev_async_send. This doesn't solve it on fork, |
62 | SIGPIPE in ev_async_send. This doesn't solve it on fork, |