Hi,
I want to submit a more complete patch for VC6.
This one makes all elements of the code compilable and this code is
being used on a production-level project at work.
The patch is in attachment. Compiles and works under VC6.
* signal_test works.
* timer_test works.
* event_test fails due to the reason that win32 select() can't work on
anything but network sockets.
Most importantly, my code that runs perfectly well on unix (linux &
freebsd) now runs on windows with little modification.
But:
* Didn't try to run any other tests since there are no project files for
them.
* Didn't test how mingw32 copes with these changes either.
The main changes are:
* INPUT and OUTPUT are defined in platform SDK, so I had to redefine
them as EVRPC_INPUT and EVRPC_OUTPUT.
* uint64_t on MSVC must be defined as unsigned __int64
* int64_t on MSVC is to be defined as signed __int64
* MSVC6 doesn't know about __func__ and the #ifdefs weren't guarding
against them good enough.
* winsock2.h sometimes was included after windows.h, that lead to
compiler errors in libevent.
* select.c can be painlessly excluded from compilation in win32, but I
still fixed it's compilation.
* Winsock library needs to be initialized and freed explicitly on win32.
* http.c was using sockaddr_storage. There isn't one in MSVC. Using
sockaddr is good enough for MSVC.
* There are tons of compiler warnings regarding "do {} while(0);"
* I took the liberty to add #pragma to the WIN32-section of the event.h
so that there's no need to put ws2_32 library into the linker explicitly.
* There's no NFDBITS in msvc.
* vsnprintf() is _vsnprintf() for some weird reason on win32.
* I've had to bump tv->tv_usec to 1000 to prevent eating 100% of the cpu
core in win32 dispatch when using timers with events each 10ms or so.
* Also I've provided a gettimeofday() wrapper that uses timeGetTime()
instead of much slower _ftime().
Also, I would like to ask the maintainer of the project to change
svn:eol-style property of .dsw and .dsp files on SVN repository toto
CRLF, since project loader handles these files properly only when line
endings are in windows style.
--
- Eugene 'HMage' Bujak.
diff -ur libevent-1.4.3-stable/WIN32-Code/config.h
libevent-1.4.3-stable-win32/WIN32-Code/config.h
--- libevent-1.4.3-stable/WIN32-Code/config.h Wed Apr 23 17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Code/config.h Wed Apr 23 17:31:03 2008
@@ -205,8 +205,8 @@
/* Version number of package */
#define VERSION "1.3.99-trunk"
-/* Define to appropriate substitue if compiler doesnt have __func__ */
-#if defined(_MSC_VER) && _MSC_VER < 1300
+/* Define to appropriate substitute if compiler doesn't have __func__ */
+#ifdef _MSC_VER
#define __func__ "??"
#else
#define __func__ __FUNCTION__
diff -ur libevent-1.4.3-stable/WIN32-Code/misc.c
libevent-1.4.3-stable-win32/WIN32-Code/misc.c
--- libevent-1.4.3-stable/WIN32-Code/misc.c Wed Apr 23 17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Code/misc.c Wed Apr 23 17:31:03 2008
@@ -1,9 +1,14 @@
#include <stdio.h>
#include <string.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#include <sys/timeb.h>
#include <time.h>
+#ifdef _MSC_VER
+#pragma comment(lib,"winmm")
+#endif
+
#ifdef __GNUC__
/*our prototypes for timeval and timezone are in here, just in case the above
headers don't have them*/
@@ -16,7 +21,7 @@
*
* Purpose: Get current time of day.
*
- * Arguments: tv => Place to store the curent time of day.
+ * Arguments: tv => Place to store the current time of day.
* tz => Ignored.
*
* Returns: 0 => Success.
@@ -24,6 +29,7 @@
****************************************************************************/
#ifndef HAVE_GETTIMEOFDAY
+#ifndef _WIN32
int gettimeofday(struct timeval *tv, struct timezone *tz) {
struct _timeb tb;
@@ -35,6 +41,21 @@
tv->tv_usec = ((int) tb.millitm) * 1000;
return 0;
}
+#else
+struct timezone;
+int gettimeofday(struct timeval *tv, struct timezone *tz) {
+ DWORD ms;
+ tz;
+ if(tv == NULL)
+ return -1;
+
+ ms = timeGetTime();
+ tv->tv_sec = ms / 1000;//(long)floor(ms * 0.001);
+ tv->tv_usec = (ms - (tv->tv_sec*1000))*1000;
+
+ return 0;
+}
+#endif
#endif
#if 0
diff -ur libevent-1.4.3-stable/WIN32-Code/win32.c
libevent-1.4.3-stable-win32/WIN32-Code/win32.c
--- libevent-1.4.3-stable/WIN32-Code/win32.c Wed Apr 23 17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Code/win32.c Wed Apr 23 17:32:04 2008
@@ -32,7 +32,7 @@
#include "../config.h"
#endif
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#include <sys/types.h>
#include <sys/queue.h>
@@ -234,6 +234,27 @@
{
struct win32op *winop;
size_t size;
+
+#ifdef _WIN32
+ WORD wVersionRequested;
+ WSADATA wsaData;
+ int retval;
+
+ wVersionRequested = MAKEWORD( 2, 2 );
+
+ retval = WSAStartup( wVersionRequested, &wsaData );
+ if (retval != 0) {
+ event_err(1, "Couldn't initialize WinSock library.\n");
+ return NULL;
+ }
+
+ if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) {
+ event_err(1, "WinSock library is not acceptable version.\n");
+ return NULL;
+ }
+
+#endif
+
if (!(winop = calloc(1, sizeof(struct win32op))))
return NULL;
winop->fd_setsz = NEVENT;
@@ -360,11 +381,17 @@
if (!fd_count) {
/* Windows doesn't like you to call select() with no sockets */
- Sleep(timeval_to_ms(tv));
+ int sleep_ms = timeval_to_ms(tv);
+ if (sleep_ms <= 0) sleep_ms = 1;
+ Sleep(sleep_ms);
evsignal_process(base);
return (0);
}
+ if ((tv) && (tv->tv_usec == 0) && (tv->tv_sec == 0)) {
+ tv->tv_usec = 1000;
+ }
+
res = select(fd_count,
(struct fd_set*)win32op->readset_out,
(struct fd_set*)win32op->writeset_out,
@@ -423,6 +450,8 @@
if (win32op->exset_out)
free(win32op->exset_out);
/* XXXXX free the tree. */
+
+ WSACleanup();
memset(win32op, 0, sizeof(win32op));
free(win32op);
diff -ur libevent-1.4.3-stable/WIN32-Prj/event_test/event_test.dsp
libevent-1.4.3-stable-win32/WIN32-Prj/event_test/event_test.dsp
--- libevent-1.4.3-stable/WIN32-Prj/event_test/event_test.dsp Wed Apr 23
17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Prj/event_test/event_test.dsp Wed Apr
23 17:31:03 2008
@@ -39,6 +39,7 @@
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D
"_MBCS" /YX /FD /c
# ADD CPP /nologo /W3 /GX /O2 /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
@@ -49,7 +50,7 @@
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "event_test - Win32 Debug"
@@ -62,6 +63,7 @@
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
@@ -72,7 +74,7 @@
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386
/pdbtype:sept
!ENDIF
diff -ur libevent-1.4.3-stable/WIN32-Prj/libevent.dsp
libevent-1.4.3-stable-win32/WIN32-Prj/libevent.dsp
--- libevent-1.4.3-stable/WIN32-Prj/libevent.dsp Wed Apr 23 17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Prj/libevent.dsp Wed Apr 23 17:31:03 2008
@@ -41,7 +41,7 @@
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB"
/YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /I "..\\" /I "..\WIN32-Code" /I "..\compat" /D
"WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\\" /I "..\WIN32-Code" /I "..\compat" /D
"NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
@@ -64,7 +64,7 @@
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS"
/D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\\" /I "..\WIN32-Code" /I
"..\compat" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\\" /I "..\WIN32-Code" /I
"..\compat" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "HAVE_CONFIG_H" /YX
/FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
@@ -85,7 +85,11 @@
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
-SOURCE=..\log.c
+SOURCE=..\buffer.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\evbuffer.c
# End Source File
# Begin Source File
@@ -93,10 +97,38 @@
# End Source File
# Begin Source File
+SOURCE=..\event_tagging.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\evrpc.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\evutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\log.c
+# End Source File
+# Begin Source File
+
SOURCE="..\WIN32-Code\misc.c"
# End Source File
# Begin Source File
+SOURCE=..\select.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\signal.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\strlcpy.c
+# End Source File
+# Begin Source File
+
SOURCE="..\WIN32-Code\win32.c"
# End Source File
# End Group
@@ -117,11 +149,59 @@
# End Source File
# Begin Source File
+SOURCE=..\evdns.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\event-config.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\event-internal.h"
+# End Source File
+# Begin Source File
+
SOURCE=..\event.h
# End Source File
# Begin Source File
+SOURCE=..\evhttp.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\evrpc-internal.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\evrpc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\evsignal.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\evutil.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\http-internal.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\log.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\min_heap.h
+# End Source File
+# Begin Source File
+
SOURCE="..\WIN32-Code\misc.h"
+# End Source File
+# Begin Source File
+
+SOURCE="..\strlcpy-internal.h"
# End Source File
# End Group
# End Target
diff -ur libevent-1.4.3-stable/WIN32-Prj/signal_test/signal_test.dsp
libevent-1.4.3-stable-win32/WIN32-Prj/signal_test/signal_test.dsp
--- libevent-1.4.3-stable/WIN32-Prj/signal_test/signal_test.dsp Wed Apr 23
17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Prj/signal_test/signal_test.dsp Wed Apr
23 17:31:03 2008
@@ -39,17 +39,18 @@
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D
"_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
/YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "signal_test - Win32 Debug"
@@ -62,17 +63,18 @@
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386
/pdbtype:sept
!ENDIF
diff -ur libevent-1.4.3-stable/WIN32-Prj/time_test/time_test.dsp
libevent-1.4.3-stable-win32/WIN32-Prj/time_test/time_test.dsp
--- libevent-1.4.3-stable/WIN32-Prj/time_test/time_test.dsp Wed Apr 23
17:31:16 2008
+++ libevent-1.4.3-stable-win32/WIN32-Prj/time_test/time_test.dsp Wed Apr
23 17:31:03 2008
@@ -39,17 +39,18 @@
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D
"_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS"
/YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /machine:I386
!ELSEIF "$(CFG)" == "time_test - Win32 Debug"
@@ -62,17 +63,18 @@
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D
"_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\\" /I "..\..\WIN32-Code" /I
"..\..\compat" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib
advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib
odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 ws2_32.lib /nologo /subsystem:console /debug /machine:I386
/pdbtype:sept
!ENDIF
diff -ur libevent-1.4.3-stable/buffer.c libevent-1.4.3-stable-win32/buffer.c
--- libevent-1.4.3-stable/buffer.c Wed Apr 23 17:31:13 2008
+++ libevent-1.4.3-stable-win32/buffer.c Wed Apr 23 17:31:00 2008
@@ -30,7 +30,7 @@
#endif
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
@@ -155,7 +155,7 @@
va_copy(aq, ap);
#ifdef WIN32
- sz = vsnprintf(buffer, space - 1, fmt, aq);
+ sz = _vsnprintf(buffer, space - 1, fmt, aq);
buffer[space - 1] = '\0';
#else
sz = vsnprintf(buffer, space, fmt, aq);
diff -ur libevent-1.4.3-stable/compat/sys/_time.h
libevent-1.4.3-stable-win32/compat/sys/_time.h
--- libevent-1.4.3-stable/compat/sys/_time.h Wed Apr 23 17:31:13 2008
+++ libevent-1.4.3-stable-win32/compat/sys/_time.h Wed Apr 23 17:31:01 2008
@@ -41,10 +41,12 @@
* Structure returned by gettimeofday(2) system call,
* and used in other calls.
*/
+#ifndef _MSC_VER // MSVC defines this in winsock2.h
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* and microseconds */
};
+#endif
/*
* Structure defined by POSIX.1b to be like a timeval.
@@ -78,10 +80,12 @@
/* Operations on timevals. */
#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
+#ifndef _MSC_VER // MSVC defines this in winsock2.h
#define timercmp(tvp, uvp, cmp)
\
(((tvp)->tv_sec == (uvp)->tv_sec) ? \
((tvp)->tv_usec cmp (uvp)->tv_usec) : \
((tvp)->tv_sec cmp (uvp)->tv_sec))
+#endif
#define timeradd(tvp, uvp, vvp)
\
do { \
(vvp)->tv_sec = (tvp)->tv_sec + (uvp)->tv_sec; \
diff -ur libevent-1.4.3-stable/evdns.c libevent-1.4.3-stable-win32/evdns.c
--- libevent-1.4.3-stable/evdns.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evdns.c Wed Apr 23 17:31:01 2008
@@ -105,7 +105,7 @@
#include "evutil.h"
#include "log.h"
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#include <iphlpapi.h>
#include <io.h>
diff -ur libevent-1.4.3-stable/event-config.h
libevent-1.4.3-stable-win32/event-config.h
--- libevent-1.4.3-stable/event-config.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/event-config.h Wed Apr 23 17:31:01 2008
@@ -51,7 +51,9 @@
#define _EVENT_HAVE_INET_NTOP 1
/* Define to 1 if you have the <inttypes.h> header file. */
+#ifndef _MSC_VER // MSVC doesn't have that
#define _EVENT_HAVE_INTTYPES_H 1
+#endif
/* Define to 1 if you have the `kqueue' function. */
#define _EVENT_HAVE_KQUEUE 1
@@ -105,7 +107,9 @@
#define _EVENT_HAVE_STDARG_H 1
/* Define to 1 if you have the <stdint.h> header file. */
+#ifndef _MSC_VER // MSVC doesn't have that
#define _EVENT_HAVE_STDINT_H 1
+#endif
/* Define to 1 if you have the <stdlib.h> header file. */
#define _EVENT_HAVE_STDLIB_H 1
@@ -159,7 +163,9 @@
#define _EVENT_HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
+#ifndef _MSC_VER // MSVC doesn't have that
#define _EVENT_HAVE_SYS_TIME_H 1
+#endif
/* Define to 1 if you have the <sys/types.h> header file. */
#define _EVENT_HAVE_SYS_TYPES_H 1
@@ -183,10 +189,14 @@
#define _EVENT_HAVE_UINT16_T 1
/* Define to 1 if the system has the type `uint32_t'. */
+#ifndef _MSC_VER // MSVC doesn't have that
#define _EVENT_HAVE_UINT32_T 1
+#endif
/* Define to 1 if the system has the type `uint64_t'. */
+#ifndef _MSC_VER // MSVC doesn't have that
#define _EVENT_HAVE_UINT64_T 1
+#endif
/* Define to 1 if the system has the type `uint8_t'. */
#define _EVENT_HAVE_UINT8_T 1
diff -ur libevent-1.4.3-stable/event-internal.h
libevent-1.4.3-stable-win32/event-internal.h
--- libevent-1.4.3-stable/event-internal.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/event-internal.h Wed Apr 23 17:31:01 2008
@@ -31,6 +31,13 @@
extern "C" {
#endif
+#ifdef _WIN32 // MSVC doesn't have that
+#ifndef NFDBITS
+typedef long int fd_mask;
+#define NFDBITS (8 * sizeof(fd_mask))
+#endif
+#endif
+
#include "config.h"
#include "min_heap.h"
#include "evsignal.h"
diff -ur libevent-1.4.3-stable/event.c libevent-1.4.3-stable-win32/event.c
--- libevent-1.4.3-stable/event.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/event.c Wed Apr 23 17:31:01 2008
@@ -30,6 +30,7 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#include "misc.h"
diff -ur libevent-1.4.3-stable/event.h libevent-1.4.3-stable-win32/event.h
--- libevent-1.4.3-stable/event.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/event.h Wed Apr 23 17:31:01 2008
@@ -176,7 +176,9 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
+#pragma comment(lib,"ws2_32") // automatically link ws2_32 library on Win32
#undef WIN32_LEAN_AND_MEAN
typedef unsigned char u_char;
typedef unsigned short u_short;
diff -ur libevent-1.4.3-stable/event_tagging.c
libevent-1.4.3-stable-win32/event_tagging.c
--- libevent-1.4.3-stable/event_tagging.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/event_tagging.c Wed Apr 23 17:31:01 2008
@@ -38,7 +38,7 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#else
diff -ur libevent-1.4.3-stable/evhttp.h libevent-1.4.3-stable-win32/evhttp.h
--- libevent-1.4.3-stable/evhttp.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evhttp.h Wed Apr 23 17:31:01 2008
@@ -35,8 +35,8 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
-#include <winsock2.h>
#undef WIN32_LEAN_AND_MEAN
#endif
diff -ur libevent-1.4.3-stable/evrpc.c libevent-1.4.3-stable-win32/evrpc.c
--- libevent-1.4.3-stable/evrpc.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evrpc.c Wed Apr 23 17:31:01 2008
@@ -30,8 +30,8 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
-#include <winsock2.h>
#undef WIN32_LEAN_AND_MEAN
#include "misc.h"
#endif
@@ -89,10 +89,10 @@
assert(evrpc_unregister_rpc(base, rpc->uri));
}
while ((hook = TAILQ_FIRST(&base->input_hooks)) != NULL) {
- assert(evrpc_remove_hook(base, INPUT, hook));
+ assert(evrpc_remove_hook(base, EVRPC_INPUT, hook));
}
while ((hook = TAILQ_FIRST(&base->output_hooks)) != NULL) {
- assert(evrpc_remove_hook(base, OUTPUT, hook));
+ assert(evrpc_remove_hook(base, EVRPC_OUTPUT, hook));
}
free(base);
}
@@ -107,14 +107,14 @@
struct evrpc_hook_list *head = NULL;
struct evrpc_hook *hook = NULL;
switch (hook_type) {
- case INPUT:
+ case EVRPC_INPUT:
head = &base->in_hooks;
break;
- case OUTPUT:
+ case EVRPC_OUTPUT:
head = &base->out_hooks;
break;
default:
- assert(hook_type == INPUT || hook_type == OUTPUT);
+ assert(hook_type == EVRPC_INPUT || hook_type == EVRPC_OUTPUT);
}
hook = calloc(1, sizeof(struct evrpc_hook));
@@ -152,14 +152,14 @@
struct _evrpc_hooks *base = vbase;
struct evrpc_hook_list *head = NULL;
switch (hook_type) {
- case INPUT:
+ case EVRPC_INPUT:
head = &base->in_hooks;
break;
- case OUTPUT:
+ case EVRPC_OUTPUT:
head = &base->out_hooks;
break;
default:
- assert(hook_type == INPUT || hook_type == OUTPUT);
+ assert(hook_type == EVRPC_INPUT || hook_type == EVRPC_OUTPUT);
}
return (evrpc_remove_hook_internal(head, handle));
@@ -425,11 +425,11 @@
}
while ((hook = TAILQ_FIRST(&pool->input_hooks)) != NULL) {
- assert(evrpc_remove_hook(pool, INPUT, hook));
+ assert(evrpc_remove_hook(pool, EVRPC_INPUT, hook));
}
while ((hook = TAILQ_FIRST(&pool->output_hooks)) != NULL) {
- assert(evrpc_remove_hook(pool, OUTPUT, hook));
+ assert(evrpc_remove_hook(pool, EVRPC_OUTPUT, hook));
}
free(pool);
diff -ur libevent-1.4.3-stable/evrpc.h libevent-1.4.3-stable-win32/evrpc.h
--- libevent-1.4.3-stable/evrpc.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evrpc.h Wed Apr 23 17:31:01 2008
@@ -436,8 +436,8 @@
*/
enum EVRPC_HOOK_TYPE {
- INPUT, /**< apply the function to an input hook */
- OUTPUT /**< apply the function to an output hook */
+ EVRPC_INPUT, /**< apply the function to an input hook */
+ EVRPC_OUTPUT /**< apply the function to an output hook */
};
/** adds a processing hook to either an rpc base or rpc pool
diff -ur libevent-1.4.3-stable/evutil.c libevent-1.4.3-stable-win32/evutil.c
--- libevent-1.4.3-stable/evutil.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evutil.c Wed Apr 23 17:31:01 2008
@@ -30,9 +30,10 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
+#include <stdlib.h> // for _atoi64()
#undef WIN32_LEAN_AND_MEAN
-#include <winsock2.h>
#include "misc.h"
#endif
diff -ur libevent-1.4.3-stable/evutil.h libevent-1.4.3-stable-win32/evutil.h
--- libevent-1.4.3-stable/evutil.h Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/evutil.h Wed Apr 23 17:31:01 2008
@@ -55,8 +55,8 @@
#define ev_uint64_t uint64_t
#define ev_int64_t int64_t
#elif defined(WIN32)
-#define ev_uint64_t __uint64_t
-#define ev_int64_t __int64_t
+#define ev_uint64_t unsigned __int64
+#define ev_int64_t signed __int64
#elif _EVENT_SIZEOF_LONG_LONG == 8
#define ev_uint64_t unsigned long long
#define ev_int64_t long long
diff -ur libevent-1.4.3-stable/http.c libevent-1.4.3-stable-win32/http.c
--- libevent-1.4.3-stable/http.c Wed Apr 23 17:31:14 2008
+++ libevent-1.4.3-stable-win32/http.c Wed Apr 23 17:31:02 2008
@@ -1982,7 +1982,12 @@
accept_socket(int fd, short what, void *arg)
{
struct evhttp *http = arg;
+#ifndef _MSC_VER
struct sockaddr_storage ss;
+#else
+ // MSVC doesn't have sockaddr_storage
+ struct sockaddr ss;
+#endif
socklen_t addrlen = sizeof(ss);
int nfd;
diff -ur libevent-1.4.3-stable/log.c libevent-1.4.3-stable-win32/log.c
--- libevent-1.4.3-stable/log.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/log.c Wed Apr 23 17:31:02 2008
@@ -43,6 +43,7 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#include "misc.h"
diff -ur libevent-1.4.3-stable/sample/event-test.c
libevent-1.4.3-stable-win32/sample/event-test.c
--- libevent-1.4.3-stable/sample/event-test.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/sample/event-test.c Wed Apr 23 17:31:02 2008
@@ -14,6 +14,7 @@
#include <unistd.h>
#include <sys/time.h>
#else
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
#include <fcntl.h>
diff -ur libevent-1.4.3-stable/sample/signal-test.c
libevent-1.4.3-stable-win32/sample/signal-test.c
--- libevent-1.4.3-stable/sample/signal-test.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/sample/signal-test.c Wed Apr 23 17:31:02 2008
@@ -15,6 +15,7 @@
#include <unistd.h>
#include <sys/time.h>
#else
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
#include <signal.h>
@@ -33,7 +34,7 @@
{
struct event *signal = arg;
- printf("%s: got signal %d\n", __func__, EVENT_SIGNAL(signal));
+ printf("%s: got signal %d\n", "signal_cb", EVENT_SIGNAL(signal));
if (called >= 2)
event_del(signal);
diff -ur libevent-1.4.3-stable/sample/time-test.c
libevent-1.4.3-stable-win32/sample/time-test.c
--- libevent-1.4.3-stable/sample/time-test.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/sample/time-test.c Wed Apr 23 17:31:02 2008
@@ -36,7 +36,7 @@
struct event *timeout = arg;
int newtime = time(NULL);
- printf("%s: called at %d: %d\n", __func__, newtime,
+ printf("%s: called at %d: %d\n", "timeout_cb", newtime,
newtime - lasttime);
lasttime = newtime;
@@ -51,7 +51,7 @@
struct event timeout;
struct timeval tv;
- /* Initalize the event library */
+ /* Initialize the event library */
event_init();
/* Initalize one event */
diff -ur libevent-1.4.3-stable/select.c libevent-1.4.3-stable-win32/select.c
--- libevent-1.4.3-stable/select.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/select.c Wed Apr 23 17:31:02 2008
@@ -30,6 +30,12 @@
#include "config.h"
#endif
+#ifdef _WIN32
+#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h>
+#include <windows.h>
+#endif // _WIN32
+
#include <sys/types.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
@@ -44,7 +50,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#ifndef _MSC_VER // MSVC doesn't have this
#include <unistd.h>
+#endif
#include <errno.h>
#ifdef CHECK_INVARIANTS
#include <assert.h>
diff -ur libevent-1.4.3-stable/signal.c libevent-1.4.3-stable-win32/signal.c
--- libevent-1.4.3-stable/signal.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/signal.c Wed Apr 23 17:31:02 2008
@@ -32,8 +32,8 @@
#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
-#include <winsock2.h>
#undef WIN32_LEAN_AND_MEAN
#endif
#include <sys/types.h>
diff -ur libevent-1.4.3-stable/test/bench.c
libevent-1.4.3-stable-win32/test/bench.c
--- libevent-1.4.3-stable/test/bench.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/test/bench.c Wed Apr 23 17:31:02 2008
@@ -41,6 +41,7 @@
#include <sys/stat.h>
#include <sys/time.h>
#ifdef WIN32
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#else
#include <sys/socket.h>
diff -ur libevent-1.4.3-stable/test/regress.c
libevent-1.4.3-stable-win32/test/regress.c
--- libevent-1.4.3-stable/test/regress.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/test/regress.c Wed Apr 23 17:31:02 2008
@@ -26,7 +26,7 @@
*/
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
diff -ur libevent-1.4.3-stable/test/regress_dns.c
libevent-1.4.3-stable-win32/test/regress_dns.c
--- libevent-1.4.3-stable/test/regress_dns.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/test/regress_dns.c Wed Apr 23 17:31:02 2008
@@ -26,7 +26,7 @@
*/
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
diff -ur libevent-1.4.3-stable/test/regress_http.c
libevent-1.4.3-stable-win32/test/regress_http.c
--- libevent-1.4.3-stable/test/regress_http.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/test/regress_http.c Wed Apr 23 17:31:02 2008
@@ -26,7 +26,7 @@
*/
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
diff -ur libevent-1.4.3-stable/test/regress_rpc.c
libevent-1.4.3-stable-win32/test/regress_rpc.c
--- libevent-1.4.3-stable/test/regress_rpc.c Wed Apr 23 17:31:15 2008
+++ libevent-1.4.3-stable-win32/test/regress_rpc.c Wed Apr 23 17:31:02 2008
@@ -26,7 +26,7 @@
*/
#ifdef WIN32
-#include <winsock2.h>
+#include <winsock2.h> // winsock2.h must be before windows.h to have any effect
#include <windows.h>
#endif
@@ -450,14 +450,14 @@
need_input_hook = 1;
need_output_hook = 1;
- assert(evrpc_add_hook(base, INPUT, rpc_hook_add_header, (void*)"input")
+ assert(evrpc_add_hook(base, EVRPC_INPUT, rpc_hook_add_header,
(void*)"input")
!= NULL);
- assert(evrpc_add_hook(base, OUTPUT, rpc_hook_add_header,
(void*)"output")
+ assert(evrpc_add_hook(base, EVRPC_OUTPUT, rpc_hook_add_header,
(void*)"output")
!= NULL);
pool = rpc_pool_with_connection(port);
- assert(evrpc_add_hook(pool, INPUT, rpc_hook_remove_header,
(void*)"output"));
+ assert(evrpc_add_hook(pool, EVRPC_INPUT, rpc_hook_remove_header,
(void*)"output"));
/* set up the basic message */
msg = msg_new();
_______________________________________________
Libevent-users mailing list
[email protected]
http://monkeymail.org/mailman/listinfo/libevent-users