--------------------------
4.22 Sun Dec 20 02:34:39 CET 2015
- (libev) when epoll detects unremovable fds in the fd set, rebuild
only the epoll descriptor, not the signal pipe, to avoid
SIGPIPE in ev_async_send. This doesn't solve it on fork,
so document what needs to be done in ev_loop_fork
(analyzed by Benjamin Mahler).
- (libev) remove superfluous sys/timeb.h include on win32
(analyzed by Jason Madden).
- updated libecb.
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
- Add following DEPENDS
+DEPENDS+= p5-Canary-Stability-[0-9]*:../../devel/p5-Canary-Stability
- Drop patch-libev_ev.c (seems to be fixed)
- Add comment on patch (from cvs log)
(upstream)
- Update 4.18 to 4.21
-------------------
Changes marked with (libev) are changes in libev, and have more
documentation in the libev Changes file.
4.21 Mon Jul 13 21:47:33 CEST 2015
- allow argument in timer->again.
- document timer->remaining.
- document default repeat value for timer->set.
4.20 Sat Jun 20 13:07:34 CEST 2015
- added stability canary support.
- truly rely on automatic configuration for clock_gettime and others.
unfortunately, this doesn't help with activeperl and similar perls,
which define _POSIX_TIMERS without actually implementing any of it.
- (libev, ecb) make it compile as C++ again.
- (libev) fix a potential aliasing issue when accessing watcher cbs.
-------------------
Changes marked with (libev) are changes in libev, and have more
documentation in the libev Changes file.
4.18 Sat Sep 6 20:37:23 CEST 2014
- use slightly better weay to find includes, to support multiarch
on newer perls.
4.17 Fri Apr 11 06:22:38 CEST 2014
- perl5porters broke Async::Interrupt, BDB, EV, IO::AIO, OpenCL
without warning by switching the meaning of USE_SOCKETS_AS_HANDLES
in 5.18. What's so attractive about giving a shit about backwards
compatibility - I will never understand.
4.16 Sat Mar 8 16:49:05 CET 2014
- make sure EV::CHECK is available at all times.
- avoid a spurious warning when perl -w overrides "no warnings".
- use perl's signal implementation on WIN32.
- ensure extern "C" function pointers are used for externally-visible
pointers.
- (libev) mark event pipe fd as cloexec after a fork (analyzed by Sami Farin).
- (ecb) support m68k, m88k and sh (patch by Miod Vallat).
- (libev) in the absence of autoconf, do not use the clock syscall
on glibc >= 2.17 (avoids the syscall AND -lrt on systems
doing clock_gettime in userspace).
- (ecb) work around memory barriers and volatile apparently both being
broken in visual studio 2008 and later (analysed and patch by Nicolas Noble).
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
(drop dependency on libev, not used)
4.15 Fri Mar 1 12:15:53 CET 2013
- (libev) upgrade to 4.15 - too many changes to list.
- EV::run now returns a boolean.
- API version 5:1.
- document that cleanup watchers are not available via perl.
- cast I32 to int in error message printf.
- remove dependencies on librt and libpthreads on GNU/Linux.
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
ChangeLog:
4.10 Thu Jan 19 18:54:23 CET 2012
- (libev) fix a race where the workaround against the epoll fork
bugs caused signals to not be handled anymore.
- (libev) correct backend_fudge for most backends, and implement
a windows specific workaround to avoid looping because we call
both select and Sleep, both with different time resolutions.
- e_new wasn't declared static (causing very minor .so bloat).
- replace more old api names by new ones.
* do not avoid the clock_gettime call on GNU/Linux anymore, as EV
links against -lpthread anyways - as a result, EV might now take
advantage of fast userspace clock_gettime implementations,
but also links against -lrt.
* (libev) lots of event port bug workarounds.
* (libev) officially support files in I/O watchers.
* (libev) new function ev_feed_signal.
* fix documentation parts still refering to the 3.x API.
4.00 Mon Oct 25 13:30:09 CEST 2010
- many API changes, see the manual.
- (libev) lots and lots of bugfixes, see the ev documentation.
- fix a bug where inotify usage would parse the same event
multiple times, causing various forms of breakage.
- greatly reduce stack usage for inotify (8kb to <0.5kb).
- expose ev_depth and ev_verify via the XS API.
- implement ev_cleanup watchers.
- (libev) ev_embed_stop did not correctly stop the watcher.
- (libev) disable poll backend on AIX.
- (libev) rename EV_TIMEOUT to EV_TIMER.
- (libev) add section on accept() problems to the manpage.
- (libev) no child watchers on win32.
- make code more aliasing compliant, in case perl is ever
translated to C.
- document the EV::CHECK runtime unavailability.
- ported to minix 3.1.7.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Upstream changes:
3.9 Thu Dec 31 07:59:59 CET 2009
- disable t/07* under automatic testing.
- increase t/09* timeouts as netbsd has *horribly* broken
select/kevent that *usually* sleep >>0.6s instead of 0.3.
- add constants EV::FLAG_NOSIGFD, EV::FLAG_NOINOTIFY and
EV::BACKEND_ALL.
- (libev) signalfd is no longer used by default.
- (libev) backport inotify code to C89.
- (libev) inotify file descriptors could leak into child processes.
- (libev) ev_stat watchers could keep an errornous extra ref on the loop.
- (libev) take advantage of inotify_init1, if available.
- (libev) the signal handling pipe wasn't always initialised under windows.
- changed minimum glibc requirement from glibc 2.9 to 2.7, for signalfd.
- (libev) only replace ev_stat.prev when we detect an actual difference.
Upstream changes:
3.8 Sun Aug 9 15:30:10 CEST 2009
- implement $loop->signal/signal_ns.
- (libev) incompatible change: do not necessarily reset signal
handler to SIG_DFL when a sighandler is stopped.
- (libev) ev_default_destroy did not properly free or zero some
members, potentially causing crashes and memory corruption on
repated ev_default_destroy/ev_default_loop calls.
- (libev) take advantage of signalfd on GNU/Linux systems.
- (libev) document that the signal mask might be in an unspecified
state when using libev's signal handling.
- (libev) take advantage of some GNU/Linux calls to set
cloexec/nonblock on fd creation, to avoid race conditions.
- implement internal glue code to interface more efficiently
with AnyEvent.
This module provides an interface to libev
(http://software.schmorp.de/pkg/libev.html). While the documentation is
comprehensive, one might also consult the documentation of libev itself
(http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod or perldoc EV::libev)
for more subtle details on watcher semantics or some discussion on the
available backends, or how to force a specific backend with LIBEV_FLAGS,
or just about in any case because it has much more detailed information.
This module is very fast and scalable. It is actually so fast that you can
use it through the AnyEvent module, stay portable to other event loops (if
you don't rely on any watcher types not available through it) and still be
faster than with any other event loop currently supported in Perl.