1
1
Revision history for libev, a high-performance and full-featured event loop.
5
TODO: EV_NO_THREADS/NO_SMP and/or EV_USE_PTHREADS or so. also document.
6
4
TODO: EV_STANDALONE == NO_HASSEL (do not use clock_gettime in ev_standalone)
5
TODO: faq, process a thing in each iteration
6
TODO: dbeugging tips, ev_verify, ev_init twice
7
TODO: ev_break for immediate exit (EVBREAK_NOW?)
8
TODO: ev_feed_child_event
9
TODO: document the special problem of signals around fork.
10
TODO: store pid for each signal
11
TODO: document file descriptor usage per loop
12
TODO: store loop pid_t and compare isndie signal handler,store 1 for same, 2 for differign pid, clean up in loop_fork
13
TODO: embed watchers need updating when fd changes
14
TODO: document portbaility requirements for atomic pointer access
16
4.15 Fri Mar 1 12:04:50 CET 2013
17
- destroying a non-default loop would stop the global waitpid
18
watcher (Denis Bilenko).
19
- queueing pending watchers of higher priority from a watcher now invokes
20
them in a timely fashion (reported by Denis Bilenko).
21
- add throw() to all libev functions that cannot throw exceptions, for
22
further code size decrease when compiling for C++.
23
- add throw () to callbacks that must not throw exceptions (allocator,
24
syserr, loop acquire/release, periodic reschedule cbs).
25
- fix event_base_loop return code, add event_get_callback, event_base_new,
26
event_base_get_method calls to improve libevent 1.x emulation and add
27
some libevent 2.x functionality (based on a patch by Jeff Davey).
28
- add more memory fences to fix a bug reported by Jeff Davey. Better
29
be overfenced than underprotected.
30
- ev_run now returns a boolean status (true meaning watchers are
32
- ev_once: undef EV_ERROR in ev_kqueue.c, to avoid clashing with
33
libev's EV_ERROR (reported by 191919).
34
- (ecb) add memory fence support for xlC (Darin McBride).
35
- (ecb) add memory fence support for gcc-mips (Anton Kirilov).
36
- (ecb) add memory fence support for gcc-alpha (Christian Weisgerber).
37
- work around some kernels losing file descriptors by leaking
38
the kqueue descriptor in the child.
39
- work around linux inotify not reporting IN_ATTRIB changes for directories
41
- include sys/syscall.h instead of plain syscall.h.
42
- check for io watcher loops in ev_verify, check for the most
43
common reported usage bug in ev_io_start.
44
- choose socket vs. WSASocket at compiletime using EV_USE_WSASOCKET.
45
- always use WSASend/WSARecv directly on windows, hoping that this
46
works in all cases (unlike read/write/send/recv...).
47
- try to detect signals around a fork faster (test program by
49
- work around recent glibc versions that leak memory in realloc.
50
- rename ev::embed::set to ev::embed::set_embed to avoid clashing
51
the watcher base set (loop) method.
52
- rewrite the async/signal pipe logic to always keep a valid fd, which
53
simplifies (and hopefully correctifies :) the race checking
54
on fork, at the cost of one extra fd.
55
- add fat, msdos, jffs2, ramfs, ntfs and btrfs to the list of
56
inotify-supporting filesystems.
57
- move orig_CFLAGS assignment to after AC_INIT, as newer autoconf
58
versions ignore it before
59
(https://bugzilla.redhat.com/show_bug.cgi?id=908096).
60
- add some untested android support.
61
- enum expressions must be of type int (reported by Juan Pablo L).
63
4.11 Sat Feb 4 19:52:39 CET 2012
64
- INCOMPATIBLE CHANGE: ev_timer_again now clears the pending status, as
65
was documented already, but not implemented in the repeating case.
66
- new compiletime symbols: EV_NO_SMP and EV_NO_THREADS.
8
67
- fix a race where the workaround against the epoll fork bugs
9
68
caused signals to not be handled anymore.
10
69
- correct backend_fudge for most backends, and implement a windows