gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r32402 - libmicrohttpd/src/microhttpd


From: gnunet
Subject: [GNUnet-SVN] r32402 - libmicrohttpd/src/microhttpd
Date: Tue, 18 Feb 2014 19:40:07 +0100

Author: Karlson2k
Date: 2014-02-18 19:40:06 +0100 (Tue, 18 Feb 2014)
New Revision: 32402

Modified:
   libmicrohttpd/src/microhttpd/daemon.c
Log:
Replace plibc_init() and plibc_shutdown()

Modified: libmicrohttpd/src/microhttpd/daemon.c
===================================================================
--- libmicrohttpd/src/microhttpd/daemon.c       2014-02-18 18:39:59 UTC (rev 
32401)
+++ libmicrohttpd/src/microhttpd/daemon.c       2014-02-18 18:40:06 UTC (rev 
32402)
@@ -50,6 +50,13 @@
 #include <sys/sendfile.h>
 #endif
 
+#ifdef _WIN32
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif /* !WIN32_LEAN_AND_MEAN */
+#include <windows.h>
+#endif
+
 #ifndef HAVE_ACCEPT4
 #define HAVE_ACCEPT4 0
 #endif
@@ -128,6 +135,12 @@
  */
 void *mhd_panic_cls;
 
+#ifdef _WIN32
+/**
+ * Track initialization of winsock
+ */
+static int mhd_winsock_inited_ = 0;
+#endif
 
 /**
  * Trace up to and return master daemon. If the supplied daemon
@@ -4152,8 +4165,13 @@
   mhd_panic = &mhd_panic_std;
   mhd_panic_cls = NULL;
 
-#ifdef WINDOWS
-  plibc_init ("GNU", "libmicrohttpd");
+#ifdef _WIN32
+  WSADATA wsd;
+  if (0 != WSAStartup(MAKEWORD(2, 2), &wsd))
+    MHD_PANIC ("Failed to initialize winsock\n");
+  mhd_winsock_inited_ = 1;
+  if (2 != LOBYTE(wsd.wVersion) && 2 != HIBYTE(wsd.wVersion))
+    MHD_PANIC ("Winsock version 2.2 is not available\n");
 #endif
 #if HTTPS_SUPPORT
 #if GCRYPT_VERSION_NUMBER < 0x010600
@@ -4170,8 +4188,9 @@
 #if HTTPS_SUPPORT
   gnutls_global_deinit ();
 #endif
-#ifdef WINDOWS
-  plibc_shutdown ();
+#ifdef _WIN32
+  if (mhd_winsock_inited_)
+    WSACleanup();
 #endif
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]