123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- === Makefile.am
- ==================================================================
- --- Makefile.am (revision 8794)
- +++ Makefile.am (local)
- @@ -1,6 +1,5 @@
- AUTOMAKE_OPTIONS = foreign no-dependencies
-
- -SUBDIRS = . sample test
-
- EXTRA_DIST = acconfig.h event.h event-internal.h log.h evsignal.h event.3 \
- kqueue.c epoll_sub.c epoll.c select.c rtsig.c poll.c signal.c \
- @@ -20,13 +19,29 @@
-
- lib_LTLIBRARIES = libevent.la
-
- -libevent_la_SOURCES = event.c buffer.c evbuffer.c log.c
- -libevent_la_LIBADD = @LTLIBOBJS@
- +if BUILD_WIN32
- +
- +SUBDIRS = . sample
- +SYS_LIBS = -lws2_32
- +SYS_SRC = WIN32-Code/misc.c WIN32-Code/win32.c
- +SYS_INCLUDES = -IWIN32-Code
- +
- +else
- +
- +SUBDIRS = . sample test
- +SYS_LIBS =
- +SYS_SRC =
- +SYS_INCLUDES =
- +
- +endif
- +
- +libevent_la_SOURCES = event.c buffer.c evbuffer.c log.c $(SYS_SRC)
- +libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
- libevent_la_LDFLAGS = -release @VERSION@ -version-info 1:2:0
-
- include_HEADERS = event.h
-
- -INCLUDES = -Icompat
- +INCLUDES = -Icompat $(SYS_INCLUDES)
-
- man_MANS = event.3
-
- === WIN32-Code/misc.c
- ==================================================================
- --- WIN32-Code/misc.c (revision 8794)
- +++ WIN32-Code/misc.c (local)
- @@ -4,6 +4,12 @@
- #include <sys/timeb.h>
- #include <time.h>
-
- +#ifdef __GNUC__
- +/*our prototypes for timeval and timezone are in here, just in case the above
- + headers don't have them*/
- +#include "misc.h"
- +#endif
- +
- /****************************************************************************
- *
- * Function: gettimeofday(struct timeval *, struct timezone *)
- @@ -17,6 +23,7 @@
- *
- ****************************************************************************/
-
- +#ifndef HAVE_GETTIMEOFDAY
- int gettimeofday(struct timeval *tv, struct timezone *tz) {
- struct _timeb tb;
-
- @@ -28,6 +35,7 @@
- tv->tv_usec = ((int) tb.millitm) * 1000;
- return 0;
- }
- +#endif
-
- int
- win_read(int fd, void *buf, unsigned int length)
- === WIN32-Code/misc.h
- ==================================================================
- --- WIN32-Code/misc.h (revision 8794)
- +++ WIN32-Code/misc.h (local)
- @@ -1,6 +1,11 @@
- #ifndef MISC_H
- #define MISC_H
-
- +struct timezone;
- +struct timeval;
- +
- +#ifndef HAVE_GETTIMEOFDAY
- int gettimeofday(struct timeval *,struct timezone *);
- +#endif
-
- #endif
- === WIN32-Code/win32.c
- ==================================================================
- --- WIN32-Code/win32.c (revision 8794)
- +++ WIN32-Code/win32.c (local)
- @@ -60,7 +60,8 @@
- /* MSDN says this is required to handle SIGFPE */
- volatile double SIGFPE_REQ = 0.0f;
-
- -int signal_handler(int sig);
- +static void signal_handler(int sig);
- +
- void signal_process(void);
- int signal_recalc(void);
-
- @@ -205,8 +206,9 @@
- }
-
- int
- -win32_insert(struct win32op *win32op, struct event *ev)
- +win32_insert(void *op, struct event *ev)
- {
- + struct win32op *win32op = op;
- int i;
-
- if (ev->ev_events & EV_SIGNAL) {
- @@ -251,8 +253,9 @@
- }
-
- int
- -win32_del(struct win32op *win32op, struct event *ev)
- +win32_del(void *op, struct event *ev)
- {
- + struct win32op *win32op = op;
- int i, found;
-
- if (ev->ev_events & EV_SIGNAL)
- @@ -302,9 +305,10 @@
- */
-
- int
- -win32_dispatch(struct event_base *base, struct win32op *win32op,
- +win32_dispatch(struct event_base *base, void *op,
- struct timeval *tv)
- {
- + struct win32op *win32op = op;
- int res = 0;
- int i;
- int fd_count;
- @@ -366,13 +370,11 @@
- }
-
-
- -static int
- +static void
- signal_handler(int sig)
- {
- evsigcaught[sig]++;
- signal_caught = 1;
- -
- - return 0;
- }
-
- int
- === buffer.c
- ==================================================================
- --- buffer.c (revision 8794)
- +++ buffer.c (local)
- @@ -197,7 +197,7 @@
- u_char *data = EVBUFFER_DATA(buffer);
- size_t len = EVBUFFER_LENGTH(buffer);
- char *line;
- - u_int i;
- + unsigned int i;
-
- for (i = 0; i < len; i++) {
- if (data[i] == '\r' || data[i] == '\n')
- === configure.in
- ==================================================================
- --- configure.in (revision 8794)
- +++ configure.in (local)
- @@ -111,6 +111,21 @@
- )
- fi
-
- +dnl - check if the macro WIN32 is defined on this compiler.
- +dnl - (this is how we check for a windows version of GCC)
- +AC_MSG_CHECKING(for WIN32)
- +AC_TRY_COMPILE(,
- + [
- + #ifndef WIN32
- + #error
- + #endif
- + ],
- + bwin32=true; AC_MSG_RESULT(yes),
- + bwin32=false; AC_MSG_RESULT(no),
- +)
- +
- +AM_CONDITIONAL(BUILD_WIN32, test x$bwin32 = xtrue)
- +
- dnl Checks for typedefs, structures, and compiler characteristics.
- AC_C_CONST
- AC_C_INLINE
- === evbuffer.c
- ==================================================================
- --- evbuffer.c (revision 8794)
- +++ evbuffer.c (local)
- @@ -154,12 +154,20 @@
- if (EVBUFFER_LENGTH(bufev->output)) {
- res = evbuffer_write(bufev->output, fd);
- if (res == -1) {
- +#ifndef WIN32
- +/*todo. evbuffer uses WriteFile when WIN32 is set. WIN32 system calls do not
- + *set errno. thus this error checking is not portable*/
- if (errno == EAGAIN ||
- errno == EINTR ||
- errno == EINPROGRESS)
- goto reschedule;
- /* error case */
- what |= EVBUFFER_ERROR;
- +
- +#else
- + goto reschedule;
- +#endif
- +
- } else if (res == 0) {
- /* eof case */
- what |= EVBUFFER_EOF;
|