]> granicus.if.org Git - libevent/commitdiff
make it compile on solaris; from Andrei Nigmatulin
authorNiels Provos <provos@gmail.com>
Sat, 16 Jun 2007 03:23:15 +0000 (03:23 +0000)
committerNiels Provos <provos@gmail.com>
Sat, 16 Jun 2007 03:23:15 +0000 (03:23 +0000)
svn:r366

configure.in
devpoll.c
event_tagging.c
evport.c
http.c

index 16517521740fed6ff233481a9db161ef211f3051..4a3626b8fd57a60c2178992c35d2cb10b9701022 100644 (file)
@@ -2,7 +2,7 @@ dnl configure.in for libevent
 dnl Dug Song <dugsong@monkey.org>
 AC_INIT(event.c)
 
-AM_INIT_AUTOMAKE(libevent,1.3b)
+AM_INIT_AUTOMAKE(libevent,1.3c-trunk)
 AM_CONFIG_HEADER(config.h)
 AM_MAINTAINER_MODE
 
@@ -36,6 +36,7 @@ AC_ARG_WITH(rtsig,
 
 dnl Checks for libraries.
 AC_CHECK_LIB(socket, socket)
+AC_CHECK_LIB(resolv, inet_aton)
 
 dnl Checks for header files.
 AC_HEADER_STDC
index 63e1dc90e92f64a1da4847b5a209da14ef871b72..96582ab05fcaa79443ab77fea5ecdefbceb1df3c 100644 (file)
--- a/devpoll.c
+++ b/devpoll.c
@@ -36,6 +36,7 @@
 #include <sys/_time.h>
 #endif
 #include <sys/queue.h>
+#include <sys/tree.h>
 #include <sys/devpoll.h>
 #include <signal.h>
 #include <stdio.h>
@@ -47,6 +48,7 @@
 #include <assert.h>
 
 #include "event.h"
+#include "event-internal.h"
 #include "evsignal.h"
 #include "log.h"
 
index 6b1272435cb4e34770624b8ea3080c0e952b299d..7a82b829ee7462fafcf7a559fa62ae3b46e0ce60 100644 (file)
@@ -149,7 +149,7 @@ evtag_marshal_timeval(struct evbuffer *evbuf, u_int8_t tag, struct timeval *tv)
            EVBUFFER_LENGTH(_buf));
 }
 
-static int __inline
+static int inline
 decode_int_internal(u_int32_t *pnumber, struct evbuffer *evbuf, int dodrain)
 {
        u_int32_t number = 0;
index 677ae832e5fb389fa335a3f59eff1adb825895ec..7d6f2d262e716797babc9dbcf44a6e844d913ee6 100644 (file)
--- a/evport.c
+++ b/evport.c
@@ -126,6 +126,7 @@ static int  evport_add      (void *, struct event *);
 static int     evport_del      (void *, struct event *);
 static int     evport_recalc   (struct event_base *, void *, int);
 static int     evport_dispatch (struct event_base *, void *, struct timeval *);
+static void    evport_dealloc  (struct event_base *, void *);
 
 const struct eventop evportops = {
        "event ports",
@@ -133,7 +134,8 @@ const struct eventop evportops = {
        evport_add,
        evport_del,
        evport_recalc,
-       evport_dispatch
+       evport_dispatch,
+       evport_dealloc
 };
 
 /*
@@ -328,7 +330,7 @@ evport_dispatch(struct event_base *base, void *arg, struct timeval *tv)
        }
 
        if ((res = port_getn(epdp->ed_port, pevtlist, EVENTS_PER_GETN, 
-                   &nevents, &ts)) == -1) {
+                   (unsigned int *) &nevents, &ts)) == -1) {
                if (errno == EINTR) {
                        evsignal_process(base);
                        return (0);
@@ -496,3 +498,16 @@ evport_del(void *arg, struct event *ev)
 }
 
 
+static void
+evport_dealloc(struct event_base *base, void *arg)
+{
+       struct evport_data *evpd = arg;
+
+       evsignal_dealloc(base);
+
+       close(evpd->ed_port);
+
+       if (evpd->ed_fds)
+               free(evpd->ed_fds);
+       free(evpd);
+}
diff --git a/http.c b/http.c
index 88c869596136ce673468d53fd2b3aa4ef3ccf4f7..7b654c7fabe1c3de84d443676cbd62f9f1b75515 100644 (file)
--- a/http.c
+++ b/http.c
@@ -1570,7 +1570,7 @@ evhttp_send_error(struct evhttp_request *req, int error, const char *reason)
 
 /* Requires that headers and response code are already set up */
 
-static __inline void
+static inline void
 evhttp_send(struct evhttp_request *req, struct evbuffer *databuf)
 {
        struct evhttp_connection *evcon = req->evcon;