--- libev/ev.h 2007/11/12 05:53:55 1.54 +++ libev/ev.h 2007/11/22 12:28:27 1.62 @@ -203,7 +203,7 @@ EV_WATCHER (ev_check) }; -/* invoked when sigchld is received and waitpid indicates the givne pid */ +/* invoked when sigchld is received and waitpid indicates the given pid */ /* revent EV_CHILD */ /* does not support priorities */ struct ev_child @@ -233,7 +233,7 @@ /* bits for ev_default_loop and ev_loop_new */ /* the default */ -#define EVMETHOD_AUTO 0x00000000 /* not quite a mask */ +#define EVFLAG_AUTO 0x00000000 /* not quite a mask */ /* method bits to be ored together */ #define EVMETHOD_SELECT 0x00000001 /* about anywhere */ @@ -241,10 +241,11 @@ #define EVMETHOD_EPOLL 0x00000004 /* linux */ #define EVMETHOD_KQUEUE 0x00000008 /* bsd */ #define EVMETHOD_DEVPOLL 0x00000010 /* solaris 8 */ /* NYI */ -#define EVMETHOD_PORT 0x00000020 /* solaris 10 */ /* NYI */ +#define EVMETHOD_PORT 0x00000020 /* solaris 10 */ +#define EVMETHOD_ALL 0x0000ffff /* all methods, also future ones, or so */ /* flag bits */ -#define EVMETHOD_NOENV 0x01000000 /* do NOT consult environment */ +#define EVFLAG_NOENV 0x01000000 /* do NOT consult environment */ #if EV_PROTOTYPES int ev_version_major (void); @@ -269,7 +270,17 @@ # if EV_MULTIPLICITY /* the default loop is the only one that handles signals and child watchers */ /* you can call this as often as you like */ -struct ev_loop *ev_default_loop (unsigned int flags); /* returns default loop */ +static struct ev_loop * +ev_default_loop (unsigned int flags) +{ + extern struct ev_loop *ev_default_loop_ptr; + extern struct ev_loop *ev_default_loop_init (unsigned int flags); + + if (!ev_default_loop_ptr) + ev_default_loop_init (flags); + + return ev_default_loop_ptr; +} /* create and destroy alternative loops that don't handle signals */ struct ev_loop *ev_loop_new (unsigned int flags); @@ -298,12 +309,12 @@ /* you can actually call it at any time, anywhere :) */ void ev_default_fork (void); -int ev_method (EV_P); +unsigned int ev_method (EV_P); #endif #define EVLOOP_NONBLOCK 1 /* do not block/wait */ #define EVLOOP_ONESHOT 2 /* block *once* only */ -#define EVUNLOOP_ONCE 1 /* unloop once */ +#define EVUNLOOP_ONE 1 /* unloop once */ #define EVUNLOOP_ALL 2 /* unloop all loops */ #if EV_PROTOTYPES