diff options
author | root <root> | 2007-11-04 18:29:44 +0000 |
---|---|---|
committer | root <root> | 2007-11-04 18:29:44 +0000 |
commit | f776d56f36abeed4a6091c2ec9b96363213ce2b2 (patch) | |
tree | 4708b492a5acc8c39487fd2bfe33cb9ff7954f89 | |
parent | f4f2094b6a36eac7778c5091ee4160a2f403e808 (diff) |
*** empty log message ***
-rw-r--r-- | ev.c | 32 | ||||
-rw-r--r-- | ev_epoll.c | 4 | ||||
-rw-r--r-- | ev_kqueue.c | 2 | ||||
-rw-r--r-- | ev_poll.c | 2 | ||||
-rw-r--r-- | evdns.c | 4 | ||||
-rw-r--r-- | event.c | 7 |
6 files changed, 38 insertions, 13 deletions
@@ -30,6 +30,28 @@ */ #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); @@ -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); } diff --git a/ev_kqueue.c b/ev_kqueue.c index 2de8874..24c3015 100644 --- a/ev_kqueue.c +++ b/ev_kqueue.c @@ -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); } @@ -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; } @@ -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 @@ -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; } |