HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/gems/ruby-2.6.8/doc/nio4r-2.5.8/ri/ext/libev/page-Changes.ri
U:RDoc::TopLevel[	iI"ext/libev/Changes:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[eo:RDoc::Markup::Paragraph;[I"QRevision history for libev, a high-performance and full-featured event loop.;To:RDoc::Markup::BlankLineo;	;[I"kTODO: for next ABI/API change, consider moving EV__IOFDSSET into io->fd instead and provide a getter. ;TI"TODO: document EV_TSTAMP_T;T@o;	;[I"&4.33 Wed Mar 18 13:22:29 CET 2020;To:RDoc::Markup::Verbatim;[I"- no changes w.r.t. 4.32.
;T:@format0o;	;[I"4.32 (EV only);To;;[I"H- the 4.31 timerfd code wrongly changed the priority of the signal
;TI"C  fd watcher, which is usually harmless unless signal fds are
;TI"2  also used (found via cpan tester service).
;TI"L- the documentation wrongly claimed that user may modify fd and events
;TI";  members in io watchers when the watcher was stopped
;TI"  (found by b_jonas).
;TI"F- new ev_io_modify mutator which changes only the events member,
;TI"G  which can be faster. also added ev::io::set (int events) method
;TI"  to ev++.h.
;TI"H- officially allow a zero events mask for io watchers. this should
;TI"E  work with older libev versions as well but was not officially
;TI"  allowed before.
;TI"M- do not wake up every minute when timerfd is used to detect timejumps.
;TI"K- do not wake up every minute when periodics are disabled and we have
;TI"  a monotonic clock.
;TI"B- support a lot more "uncommon" compile time configurations,
;TI"7  such as ev_embed enabled but ev_timer disabled.
;TI"D- use a start/stop wrapper class to reduce code duplication in
;TI"1  ev++.h and make it needlessly more c++-y.
;TI"B- the linux aio backend is no longer compiled in by default.
;TI",- update to libecb version 0x00010008.
;T;0o;	;[I"&4.31 Fri Dec 20 21:58:29 CET 2019;To;;[I"B- handle backends with minimum wait time a bit better by not
;TI"9  waiting in the presence of already-expired timers
;TI".  (behaviour reported by Felipe Gasper).
;TI"=- new feature: use timerfd to detect timejumps quickly,
;TI"@  can be disabled with the new EVFLAG_NOTIMERFD loop flag.
;TI"/- document EV_USE_SIGNALFD feature macro.
;T;0o;	;[I"4.30 (EV only);To;;[	I">- change non-autoconf test for __kernel_rwf_t by testing
;TI">  LINUX_VERSION_CODE, the most direct test I could find.
;TI"?- fix a bug in the io_uring backend that polled the wrong
;TI"9  backend fd, causing it to not work in many cases.
;T;0o;	;[I"4.29 (EV only);To;;[I"9- add io uring autoconf and non-autoconf detection.
;TI"<- disable io_uring when some header files are too old.
;T;0o;	;[I"4.28 (EV only);To;;[I"=- linuxaio backend resulted in random memory corruption
;TI"  when loop is forked.
;TI";- linuxaio backend might have tried to cancel an iocb
;TI"4  multiple times (was unable to trigger this).
;TI"<- linuxaio backend now employs a generation counter to
;TI"?  avoid handling spurious events from cancelled requests.
;TI">- io_cancel can return EINTR, deal with it. also, assume
;TI"%  io_submit also returns EINTR.
;TI"6- fix some other minor bugs in linuxaio backend.
;TI"D- ev_tstamp type can now be overriden by defining EV_TSTAMP_T.
;TI"@- cleanup: replace expect_true/false and noinline by their
;TI"  libecb counterparts.
;TI"?- move syscall infrastructure from ev_linuxaio.c to ev.c.
;TI"%- prepare io_uring integration.
;TI"- tweak ev_floor.
;TI"F- epoll, poll, win32 Sleep and other places that use millisecond
;TI"0  reslution now all try to round up times.
;TI",- solaris port backend didn't compile.
;TI"H- abstract time constants into their macros, for more flexibility.
;T;0o;	;[I"'4.27 Thu Jun 27 22:43:44 CEST 2019;To;;[I"H- linux aio backend almost completely rewritten to work around its
;TI"  limitations.
;TI"3- linux aio backend now requires linux 4.19+.
;TI":- epoll backend now mandatory for linux aio backend.
;TI"B- fail assertions more aggressively on invalid fd's detected
;TI"B  in the event loop, do not just silently fd_kill in case of
;TI"  user error.
;TI">- ev_io_start/ev_io_stop now verify the watcher fd using
;TI"0  a syscall when EV_VERIFY is 2 or higher.
;T;0o;	;[I"4.26 (EV only);To;;[I"$- update to libecb 0x00010006.
;TI"9- new experimental linux aio backend (linux 4.18+).
;TI"1- removed redundant 0-ptr check in ev_once.
;TI"8- updated/extended ev_set_allocator documentation.
;TI"7- replaced EMPTY2 macro by array_needsize_noinit.
;TI"- minor code cleanups.
;TI"=- epoll backend now uses epoll_create1 also after fork.
;T;0o;	;[I"&4.25 Fri Dec 21 07:49:20 CET 2018;To;;[I"@- INCOMPATIBLE CHANGE: EV_THROW was renamed to EV_NOEXCEPT
;TI"J  (EV_THROW still provided) and now uses noexcept on C++11 or newer.
;TI"N- move the darwin select workaround higher in ev.c, as newer versions of
;TI">  darwin managed to break their broken select even more.
;TI"<- ANDROID => __ANDROID__ (reported by enh@google.com).
;TI"K- disable epoll_create1 on android because it has broken header files
;TI"I  and google is unwilling to fix them (reported by enh@google.com).
;TI"3- avoid a minor compilation warning on win32.
;TI">- c++: remove deprecated dynamic throw() specifications.
;TI"@- c++: improve the (unsupported) bad_loop exception class.
;TI"9- backport perl ev_periodic example to C, untested.
;TI"B- update libecb, biggets change is to include a memory fence
;TI"1  in ECB_MEMORY_FENCE_RELEASE on x86/amd64.
;TI".- minor autoconf/automake modernisation.
;T;0o;	;[I"&4.24 Wed Dec 28 05:19:55 CET 2016;To;;[I"A- bump version to 4.24, as the release tarball inexplicably
;TI"I  didn't have the right version in ev.h, even though the cvs-tagged
;TI"@  version did have the right one (reported by Ales Teska).
;T;0o;	;[I"&4.23 Wed Nov 16 18:23:41 CET 2016;To;;[I"H- move some declarations at the beginning to help certain retarded
;TI"C  microsoft compilers, even though their documentation claims
;TI"/  otherwise (reported by Ruslan Osmanov).
;T;0o;	;[I"&4.22 Sun Dec 20 22:11:50 CET 2015;To;;[
I"A- when epoll detects unremovable fds in the fd set, rebuild
;TI"@  only the epoll descriptor, not the signal pipe, to avoid
;TI"@  SIGPIPE in ev_async_send. This doesn't solve it on fork,
;TI"9  so document what needs to be done in ev_loop_fork
;TI"&  (analyzed by Benjamin Mahler).
;TI"7- remove superfluous sys/timeb.h include on win32
;TI"#  (analyzed by Jason Madden).
;TI"- updated libecb.
;T;0o;	;[I"'4.20 Sat Jun 20 13:01:43 CEST 2015;To;;[	I"2- prefer noexcept over throw () with C++ 11.
;TI"7- update ecb.h due to incompatibilities with c11.
;TI"?- fix a potential aliasing issue when reading and writing
;TI"  watcher callbacks.
;T;0o;	;[I"'4.19 Thu Sep 25 08:18:25 CEST 2014;To;;[I"I- ev.h wasn't valid C++ anymore, which tripped compilers other than
;TI"L  clang, msvc or gcc (analyzed by Raphael 'kena' Poss). Unfortunately,
;TI"Q  C++ doesn't support typedefs for function pointers fully, so the affected
;TI";  declarations have to spell out the types each time.
;TI"P- when not using autoconf, tighten the check for clock_gettime and related
;TI"  functionality.
;T;0o;	;[I"'4.18 Fri Sep  5 17:55:26 CEST 2014;To;;[I"C- events on files were not always generated properly with the
;TI"0  epoll backend (testcase by Assaf Inbal).
;TI"L- mark event pipe fd as cloexec after a fork (analyzed by Sami Farin).
;TI"?- (ecb) support m68k, m88k and sh (patch by Miod Vallat).
;TI"E- use a reasonable fallback for EV_NSIG instead of erroring out
;TI"1  when we can't detect the signal set size.
;TI"@- in the absence of autoconf, do not use the clock syscall
;TI"@  on glibc >= 2.17 (avoids the syscall AND -lrt on systems
;TI"*  doing clock_gettime in userspace).
;TI"K- ensure extern "C" function pointers are used for externally-visible
;TI"3  loop callbacks (not watcher callbacks yet).
;TI"L- (ecb) work around memory barriers and volatile apparently both being
;TI"U  broken in visual studio 2008 and later (analysed and patch by Nicolas Noble).
;T;0o;	;[I"&4.15 Fri Mar  1 12:04:50 CET 2013;To;;[2I"C- destroying a non-default loop would stop the global waitpid
;TI"   watcher (Denis Bilenko).
;TI"O- queueing pending watchers of higher priority from a watcher now invokes
;TI"=  them in a timely fashion (reported by Denis Bilenko).
;TI"L- add throw() to all libev functions that cannot throw exceptions, for
;TI":  further code size decrease when compiling for C++.
;TI"L- add throw () to callbacks that must not throw exceptions (allocator,
;TI"?  syserr, loop acquire/release, periodic reschedule cbs).
;TI"P- fix event_base_loop return code, add event_get_callback, event_base_new,
;TI"M  event_base_get_method calls to improve libevent 1.x emulation and add
;TI"I  some libevent 2.x functionality (based on a patch by Jeff Davey).
;TI"J- add more memory fences to fix a bug reported by Jeff Davey. Better
;TI"*  be overfenced than underprotected.
;TI"F- ev_run now returns a boolean status (true meaning watchers are
;TI"  still active).
;TI"F- ev_once: undef EV_ERROR in ev_kqueue.c, to avoid clashing with
;TI".  libev's EV_ERROR (reported by 191919).
;TI"?- (ecb) add memory fence support for xlC (Darin McBride).
;TI"D- (ecb) add memory fence support for gcc-mips (Anton Kirilov).
;TI"L- (ecb) add memory fence support for gcc-alpha (Christian Weisgerber).
;TI"C- work around some kernels losing file descriptors by leaking
;TI"+  the kqueue descriptor in the child.
;TI"Q- work around linux inotify not reporting IN_ATTRIB changes for directories
;TI"  in many cases.
;TI"9- include sys/syscall.h instead of plain syscall.h.
;TI"C- check for io watcher loops in ev_verify, check for the most
;TI"1  common reported usage bug in ev_io_start.
;TI"J- choose socket vs. WSASocket at compiletime using EV_USE_WSASOCKET.
;TI"H- always use WSASend/WSARecv directly on windows, hoping that this
;TI"<  works in all cases (unlike read/write/send/recv...).
;TI"C- try to detect signals around a fork faster (test program by
;TI"  Denis Bilenko).
;TI"F- work around recent glibc versions that leak memory in realloc.
;TI"G- rename ev::embed::set to ev::embed::set_embed to avoid clashing
;TI"+  the watcher base set (loop) method.
;TI"L- rewrite the async/signal pipe logic to always keep a valid fd, which
;TI"C  simplifies (and hopefully correctifies :) the race checking
;TI"-  on fork, at the cost of one extra fd.
;TI"C- add fat, msdos, jffs2, ramfs, ntfs and btrfs to the list of
;TI"'  inotify-supporting filesystems.
;TI"G- move orig_CFLAGS assignment to after AC_INIT, as newer autoconf
;TI"!  versions ignore it before
;TI"=  (https://bugzilla.redhat.com/show_bug.cgi?id=908096).
;TI"*- add some untested android support.
;TI"H- enum expressions must be of type int (reported by Juan Pablo L).
;T;0o;	;[I"&4.11 Sat Feb  4 19:52:39 CET 2012;To;;[ I"M- INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
;TI"J  was documented already, but not implemented in the repeating case.
;TI"=- new compiletime symbols: EV_NO_SMP and EV_NO_THREADS.
;TI"C- fix a race where the workaround against the epoll fork bugs
;TI"1  caused signals to not be handled anymore.
;TI"H- correct backend_fudge for most backends, and implement a windows
;TI"A  specific workaround to avoid looping because we call both
;TI"?  select and Sleep, both with different time resolutions.
;TI"2- document range and guarantees of ev_sleep.
;TI"E- document reasonable ranges for periodics interval and offset.
;TI"L- rename backend_fudge to backend_mintime to avoid future confusion :)
;TI"L- change the default periodic reschedule function to hopefully be more
;TI"D  exact and correct even in corner cases or in the far future.
;TI"E- do not rely on -lm anymore: use it when available but use our
;TI"K  own floor () if it is missing. This should make it easier to embed,
;TI".  as no external libraries are required.
;TI"N- strategically import macros from libecb and mark rarely-used functions
;TI"K  as cache-cold (saving almost 2k code size on typical amd64 setups).
;TI"B- add Symbols.ev and Symbols.event files, that were missing.
;TI"H- fix backend_mintime value for epoll (was 1/1024, is 1/1000 now).
;TI"?- fix #3 "be smart about timeouts" to not "deadlock" when
;TI"9  timeout == now, also improve the section overall.
;TI":- avoid "AVOIDING FINISHING BEFORE RETURNING" idiom.
;TI"@- support new EV_API_STATIC mode to make all libev symbols
;TI"  static.
;TI"E- supply default CFLAGS of -g -O3 with gcc when original CFLAGS
;TI"  were empty.
;T;0o;	;[I"&4.04 Wed Feb 16 09:01:51 CET 2011;To;;[I"I- fix two problems in the native win32 backend, where reuse of fd's
;TI"J  with different underlying handles caused handles not to be removed
;TI"H  or added to the select set (analyzed and tested by Bert Belder).
;TI",- do no rely on ceil() in ev_e?poll.c.
;TI"6- backport libev to HP-UX versions before 11 v3.
;TI"J- configure did not detect nanosleep and clock_gettime properly when
;TI"<  they are available in the libc (as opposed to -lrt).
;T;0o;	;[I"&4.03 Tue Jan 11 14:37:25 CET 2011;To;;[I";- officially support polling files with all backends.
;TI"I- support files, /dev/zero etc. the same way as select in the epoll
;TI"1  backend, by generating events on our own.
;TI"L- ports backend: work around solaris bug 6874410 and many related ones
;TI"L  (EINTR, maybe more), with no performance loss (note that the solaris
;TI"L  bug report is actually wrong, reality is far more bizarre and broken
;TI"  than that).
;TI"J- define EV_READ/EV_WRITE as macros in event.h, as some programs use
;TI"   #ifdef to test for them.
;TI"4- new (experimental) function: ev_feed_signal.
;TI"6- new (to become default) EVFLAG_NOSIGMASK flag.
;TI""- new EVBACKEND_MASK symbol.
;TI"&- updated COMMON IDIOMS SECTION.
;T;0o;	;[I"&4.01 Fri Nov  5 21:51:29 CET 2010;To;;[I"O- automake fucked it up, apparently, --add-missing -f is not quite enough
;TI"F  to make it update its files, so 4.00 didn't install ev++.h and
;TI"&  event.h on make install. grrr.
;TI"F- ev_loop(count|depth) didn't return anything (Robin Haberkorn).
;TI"L- change EV_UNDEF to 0xffffffff to silence some overzealous compilers.
;TI"?- use "(libev) " prefix for all libev error messages now.
;T;0o;	;[I"'4.00 Mon Oct 25 12:32:12 CEST 2010;To;;[9I"K- "PORTING FROM LIBEV 3.X TO 4.X" (in ev.pod) is recommended reading.
;TI"C- ev_embed_stop did not correctly stop the watcher (very good
;TI"'  testcase by Vladimir Timofeev).
;TI"L- ev_run will now always update the current loop time - it erroneously
;TI"J  didn't when idle watchers were active, causing timers not to fire.
;TI"F- fix a bug where a timeout of zero caused the timer not to fire
;TI">  in the libevent emulation (testcase by Péter Szabó).
;TI"E- applied win32 fixes by Michael Lenaghan (also James Mansion).
;TI"*- replace EV_MINIMAL by EV_FEATURES.
;TI"I- prefer EPOLL_CTL_ADD over EPOLL_CTL_MOD in some more cases, as it
;TI":  seems the former is *much* faster than the latter.
;TI"D- linux kernel version detection (for inotify bug workarounds)
;TI"  did not work properly.
;TI"F- reduce the number of spurious wake-ups with the ports backend.
;TI"K- remove dependency on sys/queue.h on freebsd (patch by Vanilla Hsu).
;TI"K- do async init within ev_async_start, not ev_async_set, which avoids
;TI"I  an API quirk where the set function must be called in the C++ API
;TI"*  even when there is nothing to set.
;TI"D- add (undocumented) EV_ENABLE when adding events with kqueue,
;TI"M  this might help with OS X, which seems to need it despite documenting
;TI"B  not to need it (helpfully pointed out by Tilghman Lesher).
;TI"F- do not use poll by default on freebsd, it's broken (what isn't
;TI"  on freebsd...).
;TI"2- allow to embed epoll on kernels >= 2.6.32.
;TI"D- configure now prepends -O3, not appends it, so one can still
;TI"  override it.
;TI"I- ev.pod: greatly expanded the portability section, added a porting
;TI"N  section, a description of watcher states and made lots of minor fixes.
;TI"H- disable poll backend on AIX, the poll header spams the namespace
;TI"B  and it's not worth working around dead platforms (reported
;TI"(  and analyzed by Aivars Kalvans).
;TI"H- improve header file compatibility of the standalone eventfd code
;TI"  in an obscure case.
;TI"(- implement EV_AVOID_STDIO option.
;TI"I- do not use sscanf to parse linux version number (smaller, faster,
;TI"  no sscanf dependency).
;TI"G- new EV_CHILD_ENABLE and EV_SIGNAL_ENABLE configurable settings.
;TI"A- update libev.m4 HAVE_CLOCK_SYSCALL test for newer glibcs.
;TI"8- add section on accept() problems to the manpage.
;TI"&- rename EV_TIMEOUT to EV_TIMER.
;TI"6- rename ev_loop_count/depth/verify/loop/unloop.
;TI"6- remove ev_default_destroy and ev_default_fork.
;TI"*- switch to two-digit minor version.
;TI"4- work around an apparent gentoo compiler bug.
;TI"1- define _DARWIN_UNLIMITED_SELECT. just so.
;TI"7- use enum instead of #define for most constants.
;TI"5- improve compatibility to older C++ compilers.
;TI"K- (experimental) ev_run/ev_default_loop/ev_break/ev_loop_new have now
;TI"/  default arguments when compiled as C++.
;TI",- enable automake dependency tracking.
;TI"E- ev_loop_new no longer leaks memory when loop creation failed.
;TI"$- new ev_cleanup watcher type.
;T;0o;	;[I"&3.9  Thu Dec 31 07:59:59 CET 2009;To;;[I"E- signalfd is no longer used by default and has to be requested
;TI"F  explicitly - this means that easy to catch bugs become hard to
;TI"9  catch race conditions, but the users have spoken.
;TI"G- point out the unspecified signal mask in the documentation, and
;TI"@  that this is a race condition regardless of EV_SIGNALFD.
;TI"%- backport inotify code to C89.
;TI"A- inotify file descriptors could leak into child processes.
;TI"G- ev_stat watchers could keep an erroneous extra ref on the loop,
;TI"B  preventing exit when unregistering all watchers (testcases
;TI"'  provided by ry@tinyclouds.org).
;TI"K- implement EV_WIN32_HANDLE_TO_FD and EV_WIN32_CLOSE_FD configuration
;TI"I  symbols to make it easier for apps to do their own fd management.
;TI"7- support EV_IDLE_ENABLE being disabled in ev++.h
;TI"!  (patch by Didier Spezia).
;TI"N- take advantage of inotify_init1, if available, to set cloexec/nonblock
;TI"'  on fd creation, to avoid races.
;TI"H- the signal handling pipe wasn't always initialised under windows
;TI"  (analysed by lekma).
;TI"D- changed minimum glibc requirement from glibc 2.9 to 2.7, for
;TI"  signalfd.
;TI"9- add missing string.h include (Denis F. Latypoff).
;TI"F- only replace ev_stat.prev when we detect an actual difference,
;TI"@  so prev is (almost) always different to attr. this might
;TI"0  have caused the problems with 04_stat.t.
;TI"6- add ev::timer->remaining () method to C++ API.
;T;0o;	;[I"'3.8  Sun Aug  9 14:30:45 CEST 2009;To;;[I"D- incompatible change: do not necessarily reset signal handler
;TI"0  to SIG_DFL when a sighandler is stopped.
;TI"F- ev_default_destroy did not properly free or zero some members,
;TI"E  potentially causing crashes and memory corruption on repeated
;TI"1  ev_default_destroy/ev_default_loop calls.
;TI"8- take advantage of signalfd on GNU/Linux systems.
;TI"@- document that the signal mask might be in an unspecified
;TI"1  state when using libev's signal handling.
;TI"F- take advantage of some GNU/Linux calls to set cloexec/nonblock
;TI"1  on fd creation, to avoid race conditions.
;T;0o;	;[I"'3.7  Fri Jul 17 16:36:32 CEST 2009;To;;[I"K- ev_unloop and ev_loop wrongly used a global variable to exit loops,
;TI"I  instead of using a per-loop variable (bug caught by accident...).
;TI"B- the ev_set_io_collect_interval interpretation has changed.
;TI"<- add new functionality: ev_set_userdata, ev_userdata,
;TI"9  ev_set_invoke_pending_cb, ev_set_loop_release_cb,
;TI"I  ev_invoke_pending, ev_pending_count, together with a long example
;TI"  about thread locking.
;TI"C- add ev_timer_remaining (as requested by Denis F. Latypoff).
;TI"- add ev_loop_depth.
;TI"F- calling ev_unloop in fork/prepare watchers will no longer poll
;TI"  for new events.
;TI"H- Denis F. Latypoff corrected many typos in example code snippets.
;TI"F- honor autoconf detection of EV_USE_CLOCK_SYSCALL, also double-
;TI"C  check that the syscall number is available before trying to
;TI"+  use it (reported by ry@tinyclouds).
;TI"E- use GetSystemTimeAsFileTime instead of _timeb on windows, for
;TI"!  slightly higher accuracy.
;TI"C- properly declare ev_loop_verify and ev_now_update even when
;TI"  !EV_MULTIPLICITY.
;TI"H- do not compile in any priority code when EV_MAXPRI == EV_MINPRI.
;TI"0- support EV_MINIMAL==2 for a reduced API.
;TI"G- actually 0-initialise struct sigaction when installing signals.
;TI"H- add section on hibernate and stopped processes to ev_timer docs.
;T;0o;	;[I"'3.6  Tue Apr 28 02:49:30 CEST 2009;To;;[I"E- multiple timers becoming ready within an event loop iteration
;TI"3  will be invoked in the "correct" order now.
;TI"H- do not leave the event loop early just because we have no active
;TI"?  watchers, fixing a problem when embedding a kqueue loop
;TI"@  that has active kernel events but no registered watchers
;TI"*  (reported by blacksand blacksand).
;TI"C- correctly zero the idx values for arrays, so destroying and
;TI"@  reinitialising the default loop actually works (patch by
;TI"  Malek Hadj-Ali).
;TI"+- implement ev_suspend and ev_resume.
;TI";- new EV_CUSTOM revents flag for use by applications.
;TI"3- add documentation section about priorities.
;TI",- add a glossary to the documentation.
;TI"0- extend the ev_fork description slightly.
;TI",- optimize a jump out of call_pending.
;T;0o;	;[I"&3.53 Sun Feb 15 02:38:20 CET 2009;To;;[I"D- fix a bug in event pipe creation on win32 that would cause a
;TI"J  failed assertion on event loop creation (patch by Malek Hadj-Ali).
;TI"D- probe for CLOCK_REALTIME support at runtime as well and fall
;TI"C  back to gettimeofday if there is an error, to support older
;TI"<  operating systems with newer header files/libraries.
;TI"E- prefer gettimeofday over clock_gettime with USE_CLOCK_SYSCALL
;TI"1  (default most everywhere), otherwise not.
;T;0o;	;[I"&3.52 Wed Jan  7 21:43:02 CET 2009;To;;[I"H- fix compilation of select backend in fd_set mode when NFDBITS is
;TI"J  missing (to get it to compile on QNX, reported by Rodrigo Campos).
;TI"J- better select-nfds handling when select backend is in fd_set mode.
;TI"G- diagnose fd_set overruns when select backend is in fd_set mode.
;TI"<- due to a thinko, instead of disabling everything but
;TI"E  select on the borked OS X platform, everything but select was
;TI"1  allowed (reported by Emanuele Giaquinta).
;TI"B- actually verify that local and remote port are matching in
;TI"C  libev's socketpair emulation, which makes denial-of-service
;TI"E  attacks harder (but not impossible - it's windows). Make sure
;TI"E  it even works under vista, which thinks that getpeer/sockname
;TI"+  should return fantasy port numbers.
;TI"A- include "libev" in all assertion messages for potentially
;TI"  clearer diagnostics.
;TI";- event_get_version (libevent compatibility) returned
;TI"?  a useless string instead of the expected version string
;TI"%  (patch by W.C.A. Wijngaards).
;T;0o;	;[I"&3.51 Wed Dec 24 23:00:11 CET 2008;To;;[I"C- fix a bug where an inotify watcher was added twice, causing
;TI"M  freezes on hash collisions (reported and analysed by Graham Leggett).
;TI"B- new config symbol, EV_USE_CLOCK_SYSCALL, to make libev use
;TI"D  a direct syscall - slower, but no dependency on librt et al.
;TI"H- assume negative return values != -1 signals success of port_getn
;TI"N  (http://cvs.epicsol.org/cgi/viewcvs.cgi/epic5/source/newio.c?rev=1.52)
;TI"8  (no known failure reports, but it doesn't hurt).
;TI"E- fork detection in ev_embed now stops and restarts the watcher
;TI"  automatically.
;TI"B- EXPERIMENTAL: default the method to operator () in ev++.h,
;TI"I  to make it nicer to use functors (requested by Benedek László).
;TI"/- fixed const object callbacks in ev++.h.
;TI"D- replaced loop_ref argument of watcher.set (loop) by a direct
;TI"A  ev_loop * in ev++.h, to avoid clashes with functor patch.
;TI"9- do not try to watch the empty string via inotify.
;TI"E- inotify watchers could be leaked under certain circumstances.
;TI"E- OS X 10.5 is actually even more broken than earlier versions,
;TI"8  so fall back to select on that piece of garbage.
;TI";- fixed some weirdness in the ev_embed documentation.
;T;0o;	;[I"&3.49 Wed Nov 19 11:26:53 CET 2008;To;;[I"?- ev_stat watchers will now use inotify as a mere hint on
;TI";  kernels <2.6.25, or if the filesystem is not in the
;TI"   "known to be good" list.
;TI"I- better mingw32 compatibility (it's not as borked as native win32)
;TI"!  (analysed by Roger Pack).
;TI"F- include stdio.h in the example program, as too many people are
;TI"J  confused by the weird C language otherwise. I guess the next thing
;TI"K  I get told is that the "..." ellipses in the examples don't compile
;TI"  with their C compiler.
;T;0o;	;[I"&3.48 Thu Oct 30 09:02:37 CET 2008;To;;[I"F- further optimise away the EPOLL_CTL_ADD/MOD combo in the epoll
;TI"C  backend by assuming the kernel event mask hasn't changed if
;TI"  ADD fails with EEXIST.
;TI"F- work around spurious event notification bugs in epoll by using
;TI"H  a 32-bit generation counter. recreate kernel state if we receive
;TI"G  spurious notifications or unwanted events. this is very costly,
;TI"7  but I didn't come up with this horrible design.
;TI"E- use memset to initialise most arrays now and do away with the
;TI"  init functions.
;TI"L- expand time-out strategies into a "Be smart about timeouts" section.
;TI"A- drop the "struct" from all ev_watcher declarations in the
;TI"J  documentation and did other clarifications (yeah, it was a mistake
;TI"8  to have a struct AND a function called ev_loop).
;TI"C- fix a bug where ev_default would not initialise the default
;TI"B  loop again after it was destroyed with ev_default_destroy.
;TI"H- rename syserr to ev_syserr to avoid name clashes when embedding,
;TI"'  do similar changes for event.c.
;T;0o;	;[I"'3.45 Tue Oct 21 21:59:26 CEST 2008;To;;[
I"?- disable inotify usage on linux <2.6.25, as it is broken
;TI"+  (reported by Yoann Vandoorselaere).
;TI"=- ev_stat erroneously would try to add inotify watchers
;TI"<  even when inotify wasn't available (this should only
;TI"#  have a performance impact).
;TI"F- ev_once now passes both timeout and io to the callback if both
;TI"B  occur concurrently, instead of giving timeouts precedence.
;TI"=- disable EV_USE_INOTIFY when sys/inotify.h is too old.
;T;0o;	;[I"'3.44 Mon Sep 29 05:18:39 CEST 2008;To;;[I"C- embed watchers now automatically invoke ev_loop_fork on the
;TI"1  embedded loop when the parent loop forks.
;TI"+- new function: ev_now_update (loop).
;TI"-- verify_watcher was not marked static.
;TI"5- improve the "associating..." manpage section.
;TI",- documentation tweaks here and there.
;T;0o;	;[I"'3.43 Sun Jul  6 05:34:41 CEST 2008;To;;[	I"D- include more include files on windows to get struct _stati64
;TI"E  (reported by Chris Hulbert, but doesn't quite fix his issue).
;TI"C- add missing #include <io.h> in ev.c on windows (reported by
;TI"  Matt Tolton).
;T;0o;	;[I"'3.42 Tue Jun 17 12:12:07 CEST 2008;To;;[I"F- work around yet another windows bug: FD_SET actually adds fd's
;TI"J  multiple times to the fd_*SET*, despite official MSN docs claiming
;TI"=  otherwise. Reported and well-analysed by Matt Tolton.
;TI"J- define NFDBITS to 0 when EV_SELECT_IS_WINSOCKET to make it compile
;TI"1  (reported any analysed by Chris Hulbert).
;TI"B- fix a bug in ev_ebadf (this function is only used to catch
;TI"G  programming errors in the libev user). reported by Matt Tolton.
;TI"E- fix a bug in fd_intern on win32 (could lead to compile errors
;TI"K  under some circumstances, but would work correctly if it compiles).
;TI"   reported by Matt Tolton.
;TI"6- (try to) work around missing lstat on windows.
;TI"H- pass in the write fd set as except fd set under windows. windows
;TI"H  is so uncontrollably lame that it requires this. this means that
;TI"D  switching off oobinline is not supported (but tcp/ip doesn't
;TI"2  have oob, so that would be stupid anyways.
;TI"G- use posix module symbol to auto-detect monotonic clock presence
;TI"&  and some other default values.
;T;0o;	;[I"'3.41 Fri May 23 18:42:54 CEST 2008;To;;[I">- work around an obscure bug in winsocket select: if you
;TI"L  provide only empty fd sets then select returns WSAEINVAL. how sucky.
;TI"J- improve timer scheduling stability and reduce use of time_epsilon.
;TI"C- use 1-based 2-heap for EV_MINIMAL, simplifies code, reduces
;TI"7  codesize and makes for better cache-efficiency.
;TI"A- use 3-based 4-heap for !EV_MINIMAL. this makes better use
;TI"A  of cpu cache lines and gives better growth behaviour than
;TI"  2-based heaps.
;TI"D- cache timestamp within heap for !EV_MINIMAL, to avoid random
;TI"  memory accesses.
;TI"7- document/add EV_USE_4HEAP and EV_HEAP_CACHE_AT.
;TI"9- fix a potential aliasing issue in ev_timer_again.
;TI"C- add/document ev_periodic_at, retract direct access to ->at.
;TI"- improve ev_stat docs.
;TI"-- add portability requirements section.
;TI" - fix manpage headers etc.
;TI"<- normalise WSA error codes to lower range on windows.
;TI"C- add consistency check code that can be called automatically
;TI"G  or on demand to check for internal structures (ev_loop_verify).
;T;0o;	;[I"'3.31 Wed Apr 16 20:45:04 CEST 2008;To;;[I"=- added last minute fix for ev_poll.c by Brandon Black.
;T;0o;	;[I"'3.3  Wed Apr 16 19:04:10 CEST 2008;To;;[I"6- event_base_loopexit should return 0 on success
;TI"  (W.C.A. Wijngaards).
;TI"$- added linux eventfd support.
;TI"3- try to autodetect epoll and inotify support
;TI"5  by libc header version if not using autoconf.
;TI"6- new symbols: EV_DEFAULT_UC and EV_DEFAULT_UC_.
;TI"6- declare functions defined in ev.h as inline if
;TI"!  C99 or gcc are available.
;TI"2- enable inlining with gcc versions 2 and 3.
;TI";- work around broken poll implementations potentially
;TI"=  not clearing revents field in ev_poll (Brandon Black)
;TI"1  (no such systems are known at this time).
;TI";- work around a bug in realloc on openbsd and darwin,
;TI"4  also makes the erroneous valgrind complaints
;TI"*  go away (noted by various people).
;TI":- fix ev_async_pending, add c++ wrapper for ev_async
;TI"6  (based on patch sent by Johannes Deisenhofer).
;TI"-- add sensible set method to ev::embed.
;TI"0- made integer constants type int in ev.h.
;T;0o;	;[I"'3.2  Wed Apr  2 17:11:19 CEST 2008;To;;[I":- fix a 64 bit overflow issue in the select backend,
;TI"5  by using fd_mask instead of int for the mask.
;TI"F- rename internal sighandler to avoid clash with very old perls.
;TI"B- entering ev_loop will not clear the ONESHOT or NONBLOCKING
;TI")  flags of any outer loops anymore.
;TI"- add ev_async_pending.
;T;0o;	;[I"&3.1  Thu Mar 13 13:45:22 CET 2008;To;;[	I"$- implement ev_async watchers.
;TI".- only initialise signal pipe on demand.
;TI".- make use of sig_atomic_t configurable.
;TI"- improved documentation.
;T;0o;	;[I"&3.0  Mon Jan 28 13:14:47 CET 2008;To;;[I"$- API/ABI bump to version 3.0.
;TI":- ev++.h includes "ev.h" by default now, not <ev.h>.
;TI"(- slightly improved documentation.
;TI"/- speed up signal detection after a fork.
;TI"?- only optionally return trace status changed in ev_child
;TI"  watchers.
;TI"A- experimental (and undocumented) loop wrappers for ev++.h.
;T;0o;	;[I"&2.01 Tue Dec 25 08:04:41 CET 2007;To;;[I"- separate Changes file.
;TI",- fix ev_path_set => ev_stat_set typo.
;TI"5- remove event_compat.h from the libev tarball.
;TI"+- change how include files are found.
;TI"- doc updates.
;TI">- update licenses, explicitly allow for GPL relicensing.
;T;0o;	;[I"&2.0  Sat Dec 22 17:47:03 CET 2007;To;;[I";- new ev_sleep, ev_set_(io|timeout)_collect_interval.
;TI"-- removed epoll from embeddable fd set.
;TI"- fix embed watchers.
;TI"'- renamed ev_embed.loop to other.
;TI"%- added exported Symbol tables.
;TI":- undefine member wrapper macros at the end of ev.c.
;TI"- respect EV_H in ev++.h.
;T;0o;	;[I"&1.86 Tue Dec 18 02:36:57 CET 2007;To;;[I"<- fix memleak on loop destroy (not relevant for perl).
;T;0o;	;[I"&1.85 Fri Dec 14 20:32:40 CET 2007;To;;[I"<- fix some aliasing issues w.r.t. timers and periodics
;TI"   (not relevant for perl).
;T;0o;	;[I"M(for historic versions refer to EV/Changes, found in the Perl interface);T@o;	;[I"&0.1  Wed Oct 31 21:31:48 CET 2007;To;;[I"1- original version; hacked together in <24h.;T;0:
@file@:0@omit_headings_from_table_of_contents_below0