]> git.llucax.com Git - software/libev.git/commitdiff
*** empty log message ***
authorroot <root>
Sun, 4 Nov 2007 18:29:44 +0000 (18:29 +0000)
committerroot <root>
Sun, 4 Nov 2007 18:29:44 +0000 (18:29 +0000)
ev.c
ev_epoll.c
ev_kqueue.c
ev_poll.c
evdns.c
event.c

diff --git a/ev.c b/ev.c
index 97a99d27f04e7ba273142b914846fe2a5fb5e997..7af2358439ad3ad71430462be444722035c46720 100644 (file)
--- a/ev.c
+++ b/ev.c
  */
 #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>
@@ -351,7 +373,7 @@ fd_rearm_all (EV_P)
     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);
 
-  if (ev_methods (EV_A))
+  if (ev_method (EV_A))
     return loop;
 
   return 0;
@@ -730,8 +752,12 @@ ev_default_destroy (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);
index ee7ceea42b50bf8746216e737b0cb31207a26584..8bc8658d04178b78c62bd0064442eae0ac1a3ca2 100644 (file)
@@ -102,11 +102,9 @@ epoll_destroy (EV_P)
 static void
 epoll_fork (EV_P)
 {
-  int fd;
-
   epoll_fd = epoll_create (256);
   fcntl (epoll_fd, F_SETFD, FD_CLOEXEC);
 
-  fd_rearm_all ();
+  fd_rearm_all (EV_A);
 }
 
index 2de8874eb2cfa930f0e412e62170a54e31645fc4..24c3015b308ee781a5775623de389ef570564b32 100644 (file)
@@ -184,6 +184,6 @@ kqueue_fork (EV_P)
   fcntl (kqueue_fd, F_SETFD, FD_CLOEXEC);
 
   /* re-register interest in fds */
-  fd_rearm_all ();
+  fd_rearm_all (EV_A);
 }
 
index 7a17d4f097a8d9ef304f592b864072dae78b775c..b858b45491ef48faa908e29b833280d518ffa666 100644 (file)
--- a/ev_poll.c
+++ b/ev_poll.c
@@ -102,7 +102,7 @@ poll_init (EV_P_ int flags)
   method_poll   = poll_poll;
 
   pollidxs = 0; pollidxmax = 0;
-  polls    = 0; pollsmax   = 0; pollscnt = 0;
+  polls    = 0; pollmax    = 0; pollcnt = 0;
 
   return EVMETHOD_POLL;
 }
diff --git a/evdns.c b/evdns.c
index 9377712c8163b404c4f71bf9a8dfa0d8a41ae585..f8ef2a138b1c2208ef7785d46f2b6160dd22d84f 100644 (file)
--- a/evdns.c
+++ b/evdns.c
@@ -1,4 +1,4 @@
-/* $Id: evdns.c,v 1.9 2007-11-04 18:15:16 root Exp $ */
+/* $Id: evdns.c,v 1.10 2007-11-04 18:29:44 root Exp $ */
 
 /* The original version of this module was written by Adam Langley; for
  * a history of modifications, check out the subversion logs.
@@ -40,7 +40,7 @@
 #endif
 
 #ifdef WIN32
-#ifndef EV_STANDALONE
+#ifndef EV_EMBED
 #include "misc.h"
 #endif
 #endif
diff --git a/event.c b/event.c
index 04bd373d076e4f3bab16d8c1c790b64bb736c918..030df491335fccbbf2c11263ca3b1ebf94633f09 100644 (file)
--- a/event.c
+++ b/event.c
@@ -87,7 +87,7 @@ void *event_init (void)
   if (x_cur)
     x_cur = (struct event_base *)ev_loop_new (EVMETHOD_AUTO);
   else
-    x_cur = ev_default_loop (EVMETHOD_AUTO);
+    x_cur = (struct event_base *)ev_default_loop (EVMETHOD_AUTO);
 #else
   assert (("multiple event bases not supported when not compiled with EV_MULTIPLICITY", !x_cur));
 
@@ -102,7 +102,8 @@ void event_base_free (struct event_base *base)
   dLOOPbase;
 
 #if EV_MULTIPLICITY
-  ev_loop_delete (loop);
+  if (ev_default_loop (EVMETHOD_AUTO) != loop)
+    ev_loop_destroy (loop);
 #endif
 }
 
@@ -354,7 +355,7 @@ int event_base_once (struct event_base *base, int fd, short events, void (*cb)(i
 
 int event_base_priority_init (struct event_base *base, int npri)
 {
-  dLOOPbase;
+  /*dLOOPbase;*/
 
   return 0;
 }