]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
*** empty log message ***
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index 97a99d27f04e7ba273142b914846fe2a5fb5e997..83c643a988c6585d8af32123f41827c6acdd767d 100644 (file)
--- a/ev.c
+++ b/ev.c
  */
 #ifndef EV_STANDALONE
 # include "config.h"
  */
 #ifndef EV_STANDALONE
 # include "config.h"
+
+# if HAVE_CLOCK_GETTIME
+#  define EV_USE_MONOTONIC 1
+#  define EV_USE_REALTIME  1
+# endif
+
+# if HAVE_SELECT && HAVE_SYS_SELECT_H
+#  define EV_USE_SELECT 1
+# endif
+
+# if HAVE_POLL && HAVE_POLL_H
+#  define EV_USE_POLL 1
+# endif
+
+# if HAVE_EPOLL && HAVE_EPOLL_CTL && HAVE_SYS_EPOLL_H
+#  define EV_USE_EPOLL 1
+# endif
+
+# if HAVE_KQUEUE && HAVE_WORKING_KQUEUE && HAVE_SYS_EVENT_H && HAVE_SYS_QUEUE_H
+#  define EV_USE_KQUEUE 1
+# endif
+
 #endif
 
 #include <math.h>
 #endif
 
 #include <math.h>
@@ -351,7 +373,7 @@ fd_rearm_all (EV_P)
     if (anfds [fd].events)
       {
         anfds [fd].events = 0;
     if (anfds [fd].events)
       {
         anfds [fd].events = 0;
-        fd_change (fd);
+        fd_change (EV_A_ fd);
       }
 }
 
       }
 }
 
@@ -643,7 +665,7 @@ ev_loop_new (int methods)
 
   loop_init (EV_A_ methods);
 
 
   loop_init (EV_A_ methods);
 
-  if (ev_methods (EV_A))
+  if (ev_method (EV_A))
     return loop;
 
   return 0;
     return loop;
 
   return 0;
@@ -730,8 +752,12 @@ ev_default_destroy (void)
 }
 
 void
 }
 
 void
-ev_default_fork (EV_P)
+ev_default_fork (void)
 {
 {
+#if EV_MULTIPLICITY
+  struct ev_loop *loop = default_loop;
+#endif
+
   loop_fork (EV_A);
 
   ev_io_stop (EV_A_ &sigev);
   loop_fork (EV_A);
 
   ev_io_stop (EV_A_ &sigev);
@@ -770,6 +796,8 @@ timers_reify (EV_P)
     {
       struct ev_timer *w = timers [0];
 
     {
       struct ev_timer *w = timers [0];
 
+      assert (("inactive timer on timer heap detected", ev_is_active (w)));
+
       /* first reschedule or stop timer */
       if (w->repeat)
         {
       /* first reschedule or stop timer */
       if (w->repeat)
         {
@@ -791,6 +819,8 @@ periodics_reify (EV_P)
     {
       struct ev_periodic *w = periodics [0];
 
     {
       struct ev_periodic *w = periodics [0];
 
+      assert (("inactive timer on periodic heap detected", ev_is_active (w)));
+
       /* first reschedule or stop timer */
       if (w->interval)
         {
       /* first reschedule or stop timer */
       if (w->interval)
         {