};
#include "ev_wrap.h"
- struct ev_loop default_loop_struct;
- static struct ev_loop *default_loop;
+ static struct ev_loop default_loop_struct;
+ struct ev_loop *ev_default_loop_ptr;
#else
#include "ev_vars.h"
#undef VAR
- static int default_loop;
+ static int ev_default_loop_ptr;
#endif
WL w;
#if EV_MULTIPLICITY
- assert (("feeding signal events is only supported in the default loop", loop == default_loop));
+ assert (("feeding signal events is only supported in the default loop", loop == ev_default_loop_ptr));
#endif
--signum;
#if EV_MULTIPLICITY
struct ev_loop *
+ev_default_loop_ (unsigned int flags)
#else
int
-#endif
ev_default_loop (unsigned int flags)
+#endif
{
if (sigpipe [0] == sigpipe [1])
if (pipe (sigpipe))
return 0;
- if (!default_loop)
+ if (!ev_default_loop_ptr)
{
#if EV_MULTIPLICITY
- struct ev_loop *loop = default_loop = &default_loop_struct;
+ struct ev_loop *loop = ev_default_loop_ptr = &default_loop_struct;
#else
- default_loop = 1;
+ ev_default_default_loop_ptr = 1;
#endif
loop_init (EV_A_ flags);
#endif
}
else
- default_loop = 0;
+ ev_default_loop_ptr = 0;
}
- return default_loop;
+ return ev_default_loop_ptr;
}
void
ev_default_destroy (void)
{
#if EV_MULTIPLICITY
- struct ev_loop *loop = default_loop;
+ struct ev_loop *loop = ev_default_loop_ptr;
#endif
#ifndef _WIN32
ev_default_fork (void)
{
#if EV_MULTIPLICITY
- struct ev_loop *loop = default_loop;
+ struct ev_loop *loop = ev_default_loop_ptr;
#endif
if (method)
ev_signal_start (EV_P_ struct ev_signal *w)
{
#if EV_MULTIPLICITY
- assert (("signal watchers are only supported in the default loop", loop == default_loop));
+ assert (("signal watchers are only supported in the default loop", loop == ev_default_loop_ptr));
#endif
if (ev_is_active (w))
return;
ev_child_start (EV_P_ struct ev_child *w)
{
#if EV_MULTIPLICITY
- assert (("child watchers are only supported in the default loop", loop == default_loop));
+ assert (("child watchers are only supported in the default loop", loop == ev_default_loop_ptr));
#endif
if (ev_is_active (w))
return;
# 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_ (unsigned int flags);
+
+ if (!ev_default_loop_ptr)
+ ev_default_loop_ (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);