Browse Source

*** empty log message ***

master
Marc Alexander Lehmann 3 years ago
parent
commit
a2cb619f2c
  1. 6
      Changes
  2. 3
      ev.h
  3. 12
      ev.pod

6
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.

3
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 {

12
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<throw
()> specification. If you have code that needs to be compiled as both C
and C++ you can use the C<EV_THROW> 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<noexcept>
specification. If you have code that needs to be compiled as both C and
C++ you can use the C<EV_NOEXCEPT> macro for this:
static void
fatal_error (const char *msg) EV_THROW
fatal_error (const char *msg) EV_NOEXCEPT
{
perror (msg);
abort ();

Loading…
Cancel
Save