]> rtime.felk.cvut.cz Git - sojka/libev.git/commitdiff
*** empty log message ***
authorMarc Alexander Lehmann <libev@schmorp.de>
Tue, 16 Mar 2010 17:11:48 +0000 (17:11 +0000)
committerMarc Alexander Lehmann <libev@schmorp.de>
Tue, 16 Mar 2010 17:11:48 +0000 (17:11 +0000)
Changes
Makefile.am
configure.ac
ev.h
ev.pod

diff --git a/Changes b/Changes
index 9d1ad1fe82f758ecedfe9602b8059cfd545bcee4..53ab312d608afb222f62ce3a9a8801c550cb8005 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
 Revision history for libev, a high-performance and full-featured event loop.
 
 TODO: ABI??? API????? Changes???
+TODO: win32 write() to socket for signal handling
        - ev_embed_stop did not correctly stop the watcher (very good
           testcase by Vladimir Timofeev).
        - applied win32 fixes by Michael Lenaghan (also James Mansion).
@@ -19,6 +20,8 @@ TODO: ABI??? API????? Changes???
         - new EV_CHILD_ENABLE and EV_SIGNAL_ENABLE configurable settings.
         - update libev.m4 HAVE_CLOCK_SYSCALL test for newwer glibcs.
         - add section on accept() problems to the manpage.
+        - rename EV_TIMEOUT to EV_TIMER.
+        - switch to two-digit minor version.
 
 3.9  Thu Dec 31 07:59:59 CET 2009
        - signalfd is no longer used by default and has to be requested
index 9a8239e42db79e733a9e25b34cef07e8bff95d4b..1b4f7e18d4f75999699c87274ba756fc5421162b 100644 (file)
@@ -1,6 +1,6 @@
 AUTOMAKE_OPTIONS = foreign no-dependencies
 
-VERSION_INFO = 3:0
+VERSION_INFO = 4:0
 
 EXTRA_DIST = LICENSE Changes libev.m4 autogen.sh \
             ev_vars.h ev_wrap.h \
index a7d3041e49ee31c58ad200ffbfc399d2f0df2259..5047de3f43b39e1b9c346582b572d129ca1599a9 100644 (file)
@@ -1,7 +1,7 @@
 AC_INIT
 AC_CONFIG_SRCDIR([ev_epoll.c])
 
-AM_INIT_AUTOMAKE(libev,3.9) dnl also update ev.h!
+AM_INIT_AUTOMAKE(libev,4.00) dnl also update ev.h!
 AC_CONFIG_HEADERS([config.h])
 AM_MAINTAINER_MODE
 
diff --git a/ev.h b/ev.h
index f9f31b53c4333c68e25d1f493af5a2480568e947..97b7064d15c6ad0d9cab2f2d6cb1e21a27dca8f8 100644 (file)
--- a/ev.h
+++ b/ev.h
@@ -47,7 +47,7 @@ extern "C" {
 /*****************************************************************************/
 
 #ifndef EV_FEATURES
-# define EV_FEATURES 0x3f
+# define EV_FEATURES 0x7f
 #endif
 
 #define EV_FEATURE_CODE     ((EV_FEATURES) &  1)
@@ -58,7 +58,7 @@ extern "C" {
 #define EV_FEATURE_BACKENDS ((EV_FEATURES) & 32)
 #define EV_FEATURE_OS       ((EV_FEATURES) & 64)
 
-/* these priorities are inclusive, higher priorities will be called earlier */
+/* these priorities are inclusive, higher priorities will be invoked earlier */
 #ifndef EV_MINPRI
 # define EV_MINPRI (EV_FEATURE_CONFIG ? -2 : 0)
 #endif
@@ -171,8 +171,15 @@ struct ev_loop;
 # define EV_INLINE static
 #endif
 
+#ifndef EV_PROTOTYPES
+# define EV_PROTOTYPES 1
+#endif
+
 /*****************************************************************************/
 
+#define EV_VERSION_MAJOR 4
+#define EV_VERSION_MINOR 0
+
 /* eventmask, revents, events... */
 #define EV_UNDEF            -1 /* guaranteed to be invalid */
 #define EV_NONE           0x00 /* no events */
@@ -199,12 +206,6 @@ struct ev_loop;
 #ifndef EV_COMMON
 # define EV_COMMON void *data;
 #endif
-#ifndef EV_PROTOTYPES
-# define EV_PROTOTYPES 1
-#endif
-
-#define EV_VERSION_MAJOR 3
-#define EV_VERSION_MINOR 9
 
 #ifndef EV_CB_DECLARE
 # define EV_CB_DECLARE(type) void (*cb)(EV_P_ struct type *w, int revents);
@@ -213,6 +214,9 @@ struct ev_loop;
 # define EV_CB_INVOKE(watcher,revents) (watcher)->cb (EV_A_ (watcher), (revents))
 #endif
 
+/* not official, do not use */
+#define EV_CB(type,name) void name (EV_P_ struct ev_ ## type *w, int revents)
+
 /*
  * struct member types:
  * private: you may look at them, but not change them,
@@ -232,7 +236,7 @@ struct ev_loop;
 
 #if EV_MINPRI == EV_MAXPRI
 # define EV_DECL_PRIORITY
-#else
+#elif !defined (EV_DECL_PRIORITY)
 # define EV_DECL_PRIORITY int priority;
 #endif
 
diff --git a/ev.pod b/ev.pod
index 584ffeda27b46df0d321279b26ec1f06d4f08788..33c58f49d047acb1058fe1f27b320cd3c67506eb 100644 (file)
--- a/ev.pod
+++ b/ev.pod
@@ -1034,7 +1034,7 @@ are:
 The file descriptor in the C<ev_io> watcher has become readable and/or
 writable.
 
-=item C<EV_TIMEOUT>
+=item C<EV_TIMER>
 
 The C<ev_timer> watcher has timed out.
 
@@ -1766,7 +1766,7 @@ callback, which will "do the right thing" and start the timer:
 
    ev_init (timer, callback);
    last_activity = ev_now (loop);
-   callback (loop, timer, EV_TIMEOUT);
+   callback (loop, timer, EV_TIMER);
 
 And when there is some activity, simply store the current time in
 C<last_activity>, no libev calls at all:
@@ -3181,9 +3181,9 @@ If C<timeout> is less than 0, then no timeout watcher will be
 started. Otherwise an C<ev_timer> watcher with after = C<timeout> (and
 repeat = 0) will be started. C<0> is a valid timeout.
 
-The callback has the type C<void (*cb)(int revents, void *arg)> and gets
+The callback has the type C<void (*cb)(int revents, void *arg)> and is
 passed an C<revents> set like normal event callbacks (a combination of
-C<EV_ERROR>, C<EV_READ>, C<EV_WRITE> or C<EV_TIMEOUT>) and the C<arg>
+C<EV_ERROR>, C<EV_READ>, C<EV_WRITE> or C<EV_TIMER>) and the C<arg>
 value passed to C<ev_once>. Note that it is possible to receive I<both>
 a timeout and an io event at the same time - you probably should give io
 events precedence.
@@ -3194,7 +3194,7 @@ Example: wait up to ten seconds for data to appear on STDIN_FILENO.
    {
      if (revents & EV_READ)
        /* stdin might have data for us, joy! */;
-     else if (revents & EV_TIMEOUT)
+     else if (revents & EV_TIMER)
        /* doh, nothing entered */;
    }
 
@@ -4623,6 +4623,30 @@ involves iterating over all running async watchers or all signal numbers.
 =back
 
 
+=head1 PORTING FROM 3.X TO 4.X
+
+The major version 4 introduced some minor incompatible changes to the API.
+
+=over 4
+
+=item C<EV_TIMEOUT> replaced by C<EV_TIMER> in C<revents>
+
+This is a simple rename - all other watcher types use their name
+as revents flag, and now C<ev_timer> does, too.
+
+Both C<EV_TIMER> and C<EV_TIMEOUT> symbols were present in 3.x versions
+and continue to be present for the forseeable future, so this is mostly a
+documentation change.
+
+=item C<EV_MINIMAL> mechanism replaced by C<EV_FEATURES>
+
+The preprocessor symbol C<EV_MINIMAL> has been replaced by a different
+mechanism, C<EV_FEATURES>. Programs using C<EV_MINIMAL> usually compile
+and work, but the library code will of course be larger.
+
+=back
+
+
 =head1 GLOSSARY
 
 =over 4
@@ -4653,7 +4677,7 @@ for reading on a file descriptor, time having passed or simply not having
 any other events happening anymore.
 
 In libev, events are represented as single bits (such as C<EV_READ> or
-C<EV_TIMEOUT>).
+C<EV_TIMER>).
 
 =item event library