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 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.29 Fri Nov 22 15:34:29 CET 2019 |
7 | > > in about the same space (without requiring elaborate modules), drop me a |
7 | - (libev) add io uring autoconf and non-autoconf detection, |
8 | > > note :): |
8 | the latter of which should disable io_uring compilation |
9 | > > |
9 | on old systems. |
10 | > > Dein Beispiel: |
|
|
11 | > > use Time::Local (); |
|
|
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 | |
10 | |
27 | TODO: canary |
11 | 4.28 Tue Nov 19 13:55:39 CET 2019 |
|
|
12 | - (libev) fix ev_port backend, thanks to David H. Gutteridge for |
|
|
13 | - (libev) many bugfixes in linuxaio backend. |
|
|
14 | - (libev) experimental io uring interface. |
|
|
15 | reminding me to actually release the fix. |
|
|
16 | - try to name ev.h more explicitly, to hopefully improve portability. |
|
|
17 | - opportunistically round up wait times for poll and epoll backend, |
|
|
18 | to avoid unnecessary loop iterations. |
|
|
19 | - add build dependency on ev_linuxaio.c. |
|
|
20 | - quickly (re)-ported to minix 3.3 before minix crashed again. |
|
|
21 | |
|
|
22 | 4.27 Thu Jun 27 09:39:58 CEST 2019 |
|
|
23 | - (libev) completely rewritten linuxaio backend, maybe |
|
|
24 | usable as a general-use backend. |
|
|
25 | - (libev) use more aggressive assertions to catch |
|
|
26 | more usage errors. |
|
|
27 | - allow users to re-enable assert() in case it is disabled |
|
|
28 | by perl (which is typically the case). |
|
|
29 | |
|
|
30 | 4.26 Mon Jun 24 23:39:40 CEST 2019 |
|
|
31 | - (libev) included experimental linux aio backend. |
|
|
32 | - allow the linux aio backend to be used by default |
|
|
33 | only when explicitly configured during Makefile.PL time. |
|
|
34 | |
|
|
35 | 4.25 Fri Dec 21 08:04:26 CET 2018 |
|
|
36 | - (libev) updated to libev 4.25, minor fixes and enhancements. |
28 | - document the requirement to "use EV" when using EV::MakeMaker. |
37 | - document the requirement to "use EV" when using EV::MakeMaker. |
29 | - only use __register_atfork with glibc and uclibc, as musl |
38 | - only use __register_atfork with glibc and uclibc, as musl |
30 | defines __linux__, but doesn't implement the linux standard |
39 | defines __linux__, but doesn't implement the linux standard |
31 | base ABI, nor makes itself detectable via a macro, both apparently |
40 | base ABI, nor makes itself detectable via a macro, both apparently |
32 | by design, winning the "broken by design 2016 award" - well done. |
41 | by design, winning the "broken by design 2016 award" - well done. |
|
|
42 | - correct EV::periodic example 24h after midnight -> one day after |
|
|
43 | midnight (reported by Felix Ostmann). |
33 | |
44 | |
34 | 4.22 Sun Dec 20 02:34:39 CET 2015 |
45 | 4.22 Sun Dec 20 02:34:39 CET 2015 |
35 | - (libev) when epoll detects unremovable fds in the fd set, rebuild |
46 | - (libev) when epoll detects unremovable fds in the fd set, rebuild |
36 | only the epoll descriptor, not the signal pipe, to avoid |
47 | only the epoll descriptor, not the signal pipe, to avoid |
37 | SIGPIPE in ev_async_send. This doesn't solve it on fork, |
48 | SIGPIPE in ev_async_send. This doesn't solve it on fork, |