From 78d43cd9c7dbf98880f443505fbc6cac7ad8f4eb Mon Sep 17 00:00:00 2001 From: Marc Alexander Lehmann Date: Sat, 21 Dec 2019 16:11:51 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 4 +--- Symbols.ev | 2 +- configure.ac | 2 +- ev.3 | 20 +++++++++++--------- ev.h | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Changes b/Changes index 48e6ed2..f07e43b 100644 --- a/Changes +++ b/Changes @@ -1,11 +1,9 @@ Revision history for libev, a high-performance and full-featured event loop. TODO: revisit 59.x timer in the light of modern powersaving -TODO: maybe use timerfd to detect time jumps on linux TODO: document EV_TSTAMP_T -4.31 -TODO: use TFD_TIMER_CANCEL_ON_SET to call periodics_reschedule, maybe? (must) +4.31 Fri Dec 20 21:58:29 CET 2019 - handle backends with minimum wait time a bit better by not waiting in the presence of already-expired timers (behaviour reported by Felipe Gasper). diff --git a/Symbols.ev b/Symbols.ev index 7a29a75..fe169fa 100644 --- a/Symbols.ev +++ b/Symbols.ev @@ -13,10 +13,10 @@ ev_clear_pending ev_default_loop ev_default_loop_ptr ev_depth +ev_embeddable_backends ev_embed_start ev_embed_stop ev_embed_sweep -ev_embeddable_backends ev_feed_event ev_feed_fd_event ev_feed_signal diff --git a/configure.ac b/configure.ac index e19872c..fb9311f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl also update ev.h! -AC_INIT([libev], [4.27]) +AC_INIT([libev], [4.31]) orig_CFLAGS="$CFLAGS" diff --git a/ev.3 b/ev.3 index 060b7ce..3e51390 100644 --- a/ev.3 +++ b/ev.3 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "LIBEV 3" -.TH LIBEV 3 "2019-12-20" "libev-4.27" "libev - high performance full featured event loop" +.TH LIBEV 3 "2019-12-21" "libev-4.31" "libev - high performance full featured event loop" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -595,13 +595,6 @@ threads that are not interested in handling them. Signalfd will not be used by default as this changes your signal mask, and there are a lot of shoddy libraries and programs (glib's threadpool for example) that can't properly initialise their signal masks. -.ie n .IP """EVFLAG_NOTIMERFD""" 4 -.el .IP "\f(CWEVFLAG_NOTIMERFD\fR" 4 -.IX Item "EVFLAG_NOTIMERFD" -When this flag is specified, the libev will avoid using a \f(CW\*(C`timerfd\*(C'\fR to -detect time jumps. It will still be able to detect time jumps, but takes -longer and has a lower accuracy in doing so, but saves a file descriptor -per loop. .ie n .IP """EVFLAG_NOSIGMASK""" 4 .el .IP "\f(CWEVFLAG_NOSIGMASK\fR" 4 .IX Item "EVFLAG_NOSIGMASK" @@ -615,8 +608,17 @@ unblocking the signals. .Sp It's also required by \s-1POSIX\s0 in a threaded program, as libev calls \&\f(CW\*(C`sigprocmask\*(C'\fR, whose behaviour is officially unspecified. +.ie n .IP """EVFLAG_NOTIMERFD""" 4 +.el .IP "\f(CWEVFLAG_NOTIMERFD\fR" 4 +.IX Item "EVFLAG_NOTIMERFD" +When this flag is specified, the libev will avoid using a \f(CW\*(C`timerfd\*(C'\fR to +detect time jumps. It will still be able to detect time jumps, but takes +longer and has a lower accuracy in doing so, but saves a file descriptor +per loop. .Sp -This flag's behaviour will become the default in future versions of libev. +The current implementation only tries to use a \f(CW\*(C`timerfd\*(C'\fR when the first +\&\f(CW\*(C`ev_periodic\*(C'\fR watcher is started and falls back on other methods if it +cannot be created, but this behaviour might change in the future. .ie n .IP """EVBACKEND_SELECT"" (value 1, portable select backend)" 4 .el .IP "\f(CWEVBACKEND_SELECT\fR (value 1, portable select backend)" 4 .IX Item "EVBACKEND_SELECT (value 1, portable select backend)" diff --git a/ev.h b/ev.h index dfb82b3..f20711a 100644 --- a/ev.h +++ b/ev.h @@ -215,7 +215,7 @@ struct ev_loop; /*****************************************************************************/ #define EV_VERSION_MAJOR 4 -#define EV_VERSION_MINOR 27 +#define EV_VERSION_MINOR 31 /* eventmask, revents, events... */ enum {