Hello The diff attached is targeted to Solaris users, it solves several issues:
- "__inline" should not be used because AC_C_INLINE will provide appropriate substitution for "inline", if necessary. In particular, Sun C compiler does not recognize __inline. - added missing evport_dealloc() - added missing -lresolv check. Without one libtool does not add libresolv into dependency_libs list in libevent.la. - devpoll.c compilation fixes -- Andrei Nigmatulin GPG PUB KEY 6449830D Now I lay me down to sleep(3) Pray the OS my core to keep If I die before I wake Pray the Disk my core to take
diff -burp libevent/configure.in ./configure.in --- libevent/configure.in 2007-06-08 01:59:32.000000000 +0400 +++ ./configure.in 2007-06-08 02:56:50.000000000 +0400 @@ -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 diff -burp libevent/devpoll.c ./devpoll.c --- libevent/devpoll.c 2007-06-08 01:59:32.000000000 +0400 +++ ./devpoll.c 2007-06-08 02:22:37.000000000 +0400 @@ -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" diff -burp libevent/event_tagging.c ./event_tagging.c --- libevent/event_tagging.c 2007-06-08 01:59:32.000000000 +0400 +++ ./event_tagging.c 2007-06-08 02:20:07.000000000 +0400 @@ -149,7 +149,7 @@ evtag_marshal_timeval(struct evbuffer *e 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; diff -burp libevent/evport.c ./evport.c --- libevent/evport.c 2007-06-08 01:59:32.000000000 +0400 +++ ./evport.c 2007-06-08 02:29:30.000000000 +0400 @@ -126,6 +126,7 @@ static int evport_add (void *, struct e 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, } 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,15 @@ 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 -burp libevent/http.c ./http.c --- libevent/http.c 2007-06-12 15:15:28.000000000 +0400 +++ ./http.c 2007-06-08 02:20:04.000000000 +0400 @@ -1570,7 +1570,7 @@ evhttp_send_error(struct evhttp_request /* 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;
_______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkey.org/mailman/listinfo/libevent-users