Commit 26482e45 authored by Denis Bilenko's avatar Denis Bilenko

upgrade libev to 4.15

This should fix #361.
parent fa1a2ed6
...@@ -6,10 +6,14 @@ TODO: faq, process a thing in each iteration ...@@ -6,10 +6,14 @@ TODO: faq, process a thing in each iteration
TODO: dbeugging tips, ev_verify, ev_init twice TODO: dbeugging tips, ev_verify, ev_init twice
TODO: ev_break for immediate exit (EVBREAK_NOW?) TODO: ev_break for immediate exit (EVBREAK_NOW?)
TODO: ev_feed_child_event TODO: ev_feed_child_event
TODO: document the special problem of signals around fork. TODO: document the special problem of signals around fork.
TODO: store pid for each signal TODO: store pid for each signal
TODO: document file descriptor usage per loop TODO: document file descriptor usage per loop
TODO: store loop pid_t and compare isndie signal handler,store 1 for same, 2 for differign pid, clean up in loop_fork
TODO: embed watchers need updating when fd changes
TODO: document portbaility requirements for atomic pointer access
4.15 Fri Mar 1 12:04:50 CET 2013
- destroying a non-default loop would stop the global waitpid - destroying a non-default loop would stop the global waitpid
watcher (Denis Bilenko). watcher (Denis Bilenko).
- queueing pending watchers of higher priority from a watcher now invokes - queueing pending watchers of higher priority from a watcher now invokes
...@@ -32,6 +36,8 @@ TODO: document file descriptor usage per loop ...@@ -32,6 +36,8 @@ TODO: document file descriptor usage per loop
- (ecb) add memory fence support for gcc-alpha (Christian Weisgerber). - (ecb) add memory fence support for gcc-alpha (Christian Weisgerber).
- work around some kernels losing file descriptors by leaking - work around some kernels losing file descriptors by leaking
the kqueue descriptor in the child. the kqueue descriptor in the child.
- work around linux inotify not reporting IN_ATTRIB changes for directories
in many cases.
- include sys/syscall.h instead of plain syscall.h. - include sys/syscall.h instead of plain syscall.h.
- check for io watcher loops in ev_verify, check for the most - check for io watcher loops in ev_verify, check for the most
common reported usage bug in ev_io_start. common reported usage bug in ev_io_start.
...@@ -46,6 +52,13 @@ TODO: document file descriptor usage per loop ...@@ -46,6 +52,13 @@ TODO: document file descriptor usage per loop
- rewrite the async/signal pipe logic to always keep a valid fd, which - rewrite the async/signal pipe logic to always keep a valid fd, which
simplifies (and hopefuly correctifies :) the race checking simplifies (and hopefuly correctifies :) the race checking
on fork, at the cost of one extra fd. on fork, at the cost of one extra fd.
- add fat, msdos, jffs2, ramfs, ntfs and btrfs to the list of
inotify-supporting filesystems.
- move orig_CFLAGS assignment to after AC_INIT, as newer autoconf
versions ignore it before
(https://bugzilla.redhat.com/show_bug.cgi?id=908096).
- add some untested android support.
- enum expressions must be of type int (reported by Juan Pablo L).
4.11 Sat Feb 4 19:52:39 CET 2012 4.11 Sat Feb 4 19:52:39 CET 2012
- INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as - INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -205,33 +205,33 @@ struct ev_loop; ...@@ -205,33 +205,33 @@ struct ev_loop;
/*****************************************************************************/ /*****************************************************************************/
#define EV_VERSION_MAJOR 4 #define EV_VERSION_MAJOR 4
#define EV_VERSION_MINOR 11 #define EV_VERSION_MINOR 15
/* eventmask, revents, events... */ /* eventmask, revents, events... */
enum { enum {
EV_UNDEF = 0xFFFFFFFF, /* guaranteed to be invalid */ EV_UNDEF = (int)0xFFFFFFFF, /* guaranteed to be invalid */
EV_NONE = 0x00, /* no events */ EV_NONE = 0x00, /* no events */
EV_READ = 0x01, /* ev_io detected read will not block */ EV_READ = 0x01, /* ev_io detected read will not block */
EV_WRITE = 0x02, /* ev_io detected write will not block */ EV_WRITE = 0x02, /* ev_io detected write will not block */
EV__IOFDSET = 0x80, /* internal use only */ EV__IOFDSET = 0x80, /* internal use only */
EV_IO = EV_READ, /* alias for type-detection */ EV_IO = EV_READ, /* alias for type-detection */
EV_TIMER = 0x00000100, /* timer timed out */ EV_TIMER = 0x00000100, /* timer timed out */
#if EV_COMPAT3 #if EV_COMPAT3
EV_TIMEOUT = EV_TIMER, /* pre 4.0 API compatibility */ EV_TIMEOUT = EV_TIMER, /* pre 4.0 API compatibility */
#endif #endif
EV_PERIODIC = 0x00000200, /* periodic timer timed out */ EV_PERIODIC = 0x00000200, /* periodic timer timed out */
EV_SIGNAL = 0x00000400, /* signal was received */ EV_SIGNAL = 0x00000400, /* signal was received */
EV_CHILD = 0x00000800, /* child/pid had status change */ EV_CHILD = 0x00000800, /* child/pid had status change */
EV_STAT = 0x00001000, /* stat data changed */ EV_STAT = 0x00001000, /* stat data changed */
EV_IDLE = 0x00002000, /* event loop is idling */ EV_IDLE = 0x00002000, /* event loop is idling */
EV_PREPARE = 0x00004000, /* event loop about to poll */ EV_PREPARE = 0x00004000, /* event loop about to poll */
EV_CHECK = 0x00008000, /* event loop finished poll */ EV_CHECK = 0x00008000, /* event loop finished poll */
EV_EMBED = 0x00010000, /* embedded event loop needs sweep */ EV_EMBED = 0x00010000, /* embedded event loop needs sweep */
EV_FORK = 0x00020000, /* event loop resumed in child */ EV_FORK = 0x00020000, /* event loop resumed in child */
EV_CLEANUP = 0x00040000, /* event loop resumed in child */ EV_CLEANUP = 0x00040000, /* event loop resumed in child */
EV_ASYNC = 0x00080000, /* async intra-loop signal */ EV_ASYNC = 0x00080000, /* async intra-loop signal */
EV_CUSTOM = 0x01000000, /* for use by user code */ EV_CUSTOM = 0x01000000, /* for use by user code */
EV_ERROR = 0x80000000 /* sent when an error occurs */ EV_ERROR = (int)0x80000000 /* sent when an error occurs */
}; };
/* can be used to add custom fields to all watchers, while losing binary compatibility */ /* can be used to add custom fields to all watchers, while losing binary compatibility */
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
#define epoll_eperms ((loop)->epoll_eperms) #define epoll_eperms ((loop)->epoll_eperms)
#define epoll_eventmax ((loop)->epoll_eventmax) #define epoll_eventmax ((loop)->epoll_eventmax)
#define epoll_events ((loop)->epoll_events) #define epoll_events ((loop)->epoll_events)
#define evfd ((loop)->evfd)
#define evpipe ((loop)->evpipe) #define evpipe ((loop)->evpipe)
#define fdchangecnt ((loop)->fdchangecnt) #define fdchangecnt ((loop)->fdchangecnt)
#define fdchangemax ((loop)->fdchangemax) #define fdchangemax ((loop)->fdchangemax)
...@@ -126,7 +125,6 @@ ...@@ -126,7 +125,6 @@
#undef epoll_eperms #undef epoll_eperms
#undef epoll_eventmax #undef epoll_eventmax
#undef epoll_events #undef epoll_events
#undef evfd
#undef evpipe #undef evpipe
#undef fdchangecnt #undef fdchangecnt
#undef fdchangemax #undef fdchangemax
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment