EXAMPLES
- For a real-world example of a program the includes libev verbatim, you
- can have a look at the EV perl module (http://software.schmorp.de/pkg/EV.html).
- It has the libev files in the liev/ subdirectory and includes them in the
- EV.xs files. Only this file will be compiled.
+ For a real-world example of a program the includes libev
+ verbatim, you can have a look at the EV perl module
+ (http://software.schmorp.de/pkg/EV.html). It has the libev files in
+ the liev/ subdirectory and includes them in the EV/EVAPI.h (public
+ interface) and EV.xs (implementation) files. Only EV.xs file will be
+ compiled.
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef EV_EMBED
+#ifndef EV_STANDALONE
# include "config.h"
#endif
# define EV_USE_SELECT 1
#endif
-#ifndef EV_USEV_POLL
-# define EV_USEV_POLL 0 /* poll is usually slower than select, and not as well tested */
+#ifndef EV_USE_POLL
+# define EV_USE_POLL 0 /* poll is usually slower than select, and not as well tested */
#endif
#ifndef EV_USE_EPOLL
#define PID_HASHSIZE 16 /* size of pid hash table, must be power of two */
/*#define CLEANUP_INTERVAL 300. /* how often to try to free memory and re-check fds */
-#ifndef EV_EMBED
-# include "ev.h"
-#endif
+#include "ev.h"
#if __GNUC__ >= 3
# define expect(expr,value) __builtin_expect ((expr),(value))
static int sigpipe [2];
static sig_atomic_t volatile gotsig;
+static struct ev_io sigev;
static void
signals_init (ANSIG *base, int count)
#ifndef WIN32
+static struct ev_child *childs [PID_HASHSIZE];
+static struct ev_signal childev;
+
#ifndef WCONTINUED
# define WCONTINUED 0
#endif
#if EV_USE_EPOLL
# include "ev_epoll.c"
#endif
-#if EV_USEV_POLL
+#if EV_USE_POLL
# include "ev_poll.c"
#endif
#if EV_USE_SELECT
#if EV_USE_EPOLL
if (!method && (methods & EVMETHOD_EPOLL )) method = epoll_init (EV_A_ methods);
#endif
-#if EV_USEV_POLL
+#if EV_USE_POLL
if (!method && (methods & EVMETHOD_POLL )) method = poll_init (EV_A_ methods);
#endif
#if EV_USE_SELECT
#if EV_USE_EPOLL
if (method == EVMETHOD_EPOLL ) epoll_destroy (EV_A);
#endif
-#if EV_USEV_POLL
+#if EV_USE_POLL
if (method == EVMETHOD_POLL ) poll_destroy (EV_A);
#endif
#if EV_USE_SELECT
VARx(int, checkmax)
VARx(int, checkcnt)
-VAR (childs, struct ev_child *childs [PID_HASHSIZE])
-VARx(struct ev_signal, childev)
-
-VARx(struct ev_io, sigev)
-
#undef VARx
#define checks ((loop)->checks)
#define checkmax ((loop)->checkmax)
#define checkcnt ((loop)->checkcnt)
-#define childs ((loop)->childs)
-#define childev ((loop)->childev)
-#define sigev ((loop)->sigev)
-/* $Id: evdns.c,v 1.8 2007-11-04 16:52:52 root Exp $ */
+/* $Id: evdns.c,v 1.9 2007-11-04 18:15:16 root Exp $ */
/* The original version of this module was written by Adam Langley; for
* a history of modifications, check out the subversion logs.
#endif
#ifdef WIN32
-#ifndef EV_EMBED
+#ifndef EV_STANDALONE
#include "misc.h"
#endif
#endif
#include <sys/time.h>
#include <assert.h>
-#ifndef EV_EMBED
-# include "event.h"
-#endif
+#include "ev.h"
+#include "event.h"
#if EV_MULTIPLICITY
# define dLOOPev struct ev_loop *loop = (struct ev_loop *)ev->ev_base
return event_base_dispatch (x_cur);
}
-#ifdef EV_EMBED
+#ifdef EV_STANDALONE
void event_set_log_callback (event_log_cb cb)
{
/* nop */
#ifndef _EVENT_H_
#define _EVENT_H_
-#ifndef EV_EMBED
-# include "ev.h"
-#endif
+#include <ev.h>
#ifdef __cplusplus
extern "C" {
int event_base_once (struct event_base *base, int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv);
int event_base_priority_init (struct event_base *base, int fd);
-#ifndef EV_EMBED
+#ifndef EV_STANDALONE
# include "event_compat.h"
#endif