diff --git a/Changes b/Changes index 3ecfcc8..32aceb4 100644 --- a/Changes +++ b/Changes @@ -1,12 +1,14 @@ Revision history for libev, a high-performance and full-featured event loop. - - move the darwin select workaround highe rin ev.c, as newre versions of +4.25 Fri Dec 21 07:49:20 CET 2018 + - INCOMPATIBLE CHANGE: EV_THROW was renamed to EV_NOEXCEPT + (EV_THROW sitll provided) and now uses noexcept on C++11 or newer. + - move the darwin select workaround highe rin ev.c, as newer versions of darwin managed to break their broken select even more. - ANDROID => __ANDROID__ (reported by enh@google.com). - disable epoll_create1 on android because it has broken header files and google is unwilling to fix them (reported by enh@google.com). - avoid a minor compilation warning on win32. - - c++: rename EV_THROW to EV_NOEXCEPT. - c++: remove deprecated dynamic throw() specifications. - c++: improve the (unsupported) bad_loop exception class. - backport perl ev_periodic example to C, untested. diff --git a/ev.h b/ev.h index 6f1686f..f76c892 100644 --- a/ev.h +++ b/ev.h @@ -51,6 +51,7 @@ # define EV_CPP(x) # define EV_NOEXCEPT #endif +#define EV_THROW EV_NOEXCEPT /* pre-4.25, do not use in new code */ EV_CPP(extern "C" {) @@ -211,7 +212,7 @@ struct ev_loop; /*****************************************************************************/ #define EV_VERSION_MAJOR 4 -#define EV_VERSION_MINOR 24 +#define EV_VERSION_MINOR 25 /* eventmask, revents, events... */ enum { diff --git a/ev.pod b/ev.pod index 66764d9..0462e40 100644 --- a/ev.pod +++ b/ev.pod @@ -3980,14 +3980,14 @@ libev sources can be compiled as C++. Therefore, code that uses the C API will work fine. Proper exception specifications might have to be added to callbacks passed -to libev: exceptions may be thrown only from watcher callbacks, all -other callbacks (allocator, syserr, loop acquire/release and periodic -reschedule callbacks) must not throw exceptions, and might need a C specification. If you have code that needs to be compiled as both C -and C++ you can use the C macro for this: +to libev: exceptions may be thrown only from watcher callbacks, all other +callbacks (allocator, syserr, loop acquire/release and periodic reschedule +callbacks) must not throw exceptions, and might need a C +specification. If you have code that needs to be compiled as both C and +C++ you can use the C macro for this: static void - fatal_error (const char *msg) EV_THROW + fatal_error (const char *msg) EV_NOEXCEPT { perror (msg); abort ();