gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r32866 - libmicrohttpd/src/microhttpd
Date: Tue, 1 Apr 2014 08:16:17 +0200

Author: Karlson2k
Date: 2014-04-01 08:16:16 +0200 (Tue, 01 Apr 2014)
New Revision: 32866

Modified:
   libmicrohttpd/src/microhttpd/connection.c
   libmicrohttpd/src/microhttpd/daemon.c
   libmicrohttpd/src/microhttpd/digestauth.c
   libmicrohttpd/src/microhttpd/internal.h
   libmicrohttpd/src/microhttpd/response.c
Log:
Use MHD mutex macros

Modified: libmicrohttpd/src/microhttpd/connection.c
===================================================================
--- libmicrohttpd/src/microhttpd/connection.c   2014-04-01 06:16:04 UTC (rev 
32865)
+++ libmicrohttpd/src/microhttpd/connection.c   2014-04-01 06:16:16 UTC (rev 
32866)
@@ -37,7 +37,14 @@
 #include <netinet/tcp.h>
 #endif
 
+#if defined(_WIN32) && defined(MHD_W32_MUTEX_)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif /* !WIN32_LEAN_AND_MEAN */
+#include <windows.h>
+#endif /* _WIN32 && MHD_W32_MUTEX_ */
 
+
 /**
  * Message to transmit when http 1.1 request is received
  */
@@ -358,7 +365,7 @@
       /* either error or http 1.0 transfer, close socket! */
       response->total_size = connection->response_write_position;
       if (NULL != response->crc)
-       pthread_mutex_unlock (&response->mutex);
+        MHD_mutex_unlock_ (&response->mutex);
       if ( ((ssize_t)MHD_CONTENT_READER_END_OF_STREAM) == ret)
        MHD_connection_close (connection, MHD_REQUEST_TERMINATED_COMPLETED_OK);
       else
@@ -372,7 +379,7 @@
     {
       connection->state = MHD_CONNECTION_NORMAL_BODY_UNREADY;
       if (NULL != response->crc)
-       pthread_mutex_unlock (&response->mutex);
+        MHD_mutex_unlock_ (&response->mutex);
       return MHD_NO;
     }
   return MHD_YES;
@@ -1927,7 +1934,7 @@
 
   /* move connection to head of timeout list (by remove + add operation) */
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   XDLL_remove (daemon->normal_timeout_head,
               daemon->normal_timeout_tail,
@@ -1936,7 +1943,7 @@
               daemon->normal_timeout_tail,
               connection);
   if  ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -2081,7 +2088,7 @@
         case MHD_CONNECTION_NORMAL_BODY_READY:
           response = connection->response;
           if (NULL != response->crc)
-            pthread_mutex_lock (&response->mutex);
+            MHD_mutex_lock_ (&response->mutex);
           if (MHD_YES != try_ready_normal_body (connection))
            break;
          ret = connection->send_cls (connection,
@@ -2101,7 +2108,7 @@
                                      response->data_start]);
 #endif
           if (NULL != response->crc)
-            pthread_mutex_unlock (&response->mutex);
+            MHD_mutex_unlock_ (&response->mutex);
           if (ret < 0)
             {
               if ((err == EINTR) || (err == EAGAIN) || (EWOULDBLOCK == err))
@@ -2179,7 +2186,7 @@
       connection->response = NULL;
     }
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   if (connection->connection_timeout == daemon->connection_timeout)
     XDLL_remove (daemon->normal_timeout_head,
@@ -2204,7 +2211,7 @@
   connection->resuming = MHD_NO;
   connection->in_idle = MHD_NO;
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock(&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_(&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -2452,18 +2459,18 @@
           break;
         case MHD_CONNECTION_NORMAL_BODY_UNREADY:
           if (NULL != connection->response->crc)
-            pthread_mutex_lock (&connection->response->mutex);
+            MHD_mutex_lock_ (&connection->response->mutex);
           if (0 == connection->response->total_size)
             {
               if (NULL != connection->response->crc)
-                pthread_mutex_unlock (&connection->response->mutex);
+                MHD_mutex_unlock_ (&connection->response->mutex);
               connection->state = MHD_CONNECTION_BODY_SENT;
               continue;
             }
           if (MHD_YES == try_ready_normal_body (connection))
             {
              if (NULL != connection->response->crc)
-               pthread_mutex_unlock (&connection->response->mutex);
+               MHD_mutex_unlock_ (&connection->response->mutex);
               connection->state = MHD_CONNECTION_NORMAL_BODY_READY;
               break;
             }
@@ -2474,23 +2481,23 @@
           break;
         case MHD_CONNECTION_CHUNKED_BODY_UNREADY:
           if (NULL != connection->response->crc)
-            pthread_mutex_lock (&connection->response->mutex);
+            MHD_mutex_lock_ (&connection->response->mutex);
           if (0 == connection->response->total_size)
             {
               if (NULL != connection->response->crc)
-                pthread_mutex_unlock (&connection->response->mutex);
+                MHD_mutex_unlock_ (&connection->response->mutex);
               connection->state = MHD_CONNECTION_BODY_SENT;
               continue;
             }
           if (MHD_YES == try_ready_chunked_body (connection))
             {
               if (NULL != connection->response->crc)
-                pthread_mutex_unlock (&connection->response->mutex);
+                MHD_mutex_unlock_ (&connection->response->mutex);
               connection->state = MHD_CONNECTION_CHUNKED_BODY_READY;
               continue;
             }
           if (NULL != connection->response->crc)
-            pthread_mutex_unlock (&connection->response->mutex);
+            MHD_mutex_unlock_ (&connection->response->mutex);
           break;
         case MHD_CONNECTION_BODY_SENT:
           build_header_response (connection);
@@ -2776,7 +2783,7 @@
     {
     case MHD_CONNECTION_OPTION_TIMEOUT:
       if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-          (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+          (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
        MHD_PANIC ("Failed to acquire cleanup mutex\n");
       if (connection->connection_timeout == daemon->connection_timeout)
        XDLL_remove (daemon->normal_timeout_head,
@@ -2798,7 +2805,7 @@
                     daemon->manual_timeout_tail,
                     connection);
       if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-          (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+          (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
        MHD_PANIC ("Failed to release cleanup mutex\n");
       return MHD_YES;
     default:

Modified: libmicrohttpd/src/microhttpd/daemon.c
===================================================================
--- libmicrohttpd/src/microhttpd/daemon.c       2014-04-01 06:16:04 UTC (rev 
32865)
+++ libmicrohttpd/src/microhttpd/daemon.c       2014-04-01 06:16:16 UTC (rev 
32866)
@@ -214,7 +214,7 @@
 static void
 MHD_ip_count_lock (struct MHD_Daemon *daemon)
 {
-  if (0 != pthread_mutex_lock(&daemon->per_ip_connection_mutex))
+  if (MHD_YES != MHD_mutex_lock_(&daemon->per_ip_connection_mutex))
     {
       MHD_PANIC ("Failed to acquire IP connection limit mutex\n");
     }
@@ -229,7 +229,7 @@
 static void
 MHD_ip_count_unlock (struct MHD_Daemon *daemon)
 {
-  if (0 != pthread_mutex_unlock(&daemon->per_ip_connection_mutex))
+  if (MHD_YES != MHD_mutex_unlock_(&daemon->per_ip_connection_mutex))
     {
       MHD_PANIC ("Failed to release IP connection limit mutex\n");
     }
@@ -1367,7 +1367,7 @@
 #endif
 
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   XDLL_insert (daemon->normal_timeout_head,
               daemon->normal_timeout_tail,
@@ -1376,7 +1376,7 @@
              daemon->connections_tail,
              connection);
   if  ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 
   /* attempt to create handler thread */
@@ -1445,7 +1445,7 @@
     MHD_PANIC ("close failed\n");
   MHD_ip_limit_del (daemon, addr, addrlen);
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   DLL_remove (daemon->connections_head,
              daemon->connections_tail,
@@ -1454,7 +1454,7 @@
               daemon->normal_timeout_tail,
               connection);
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
   MHD_pool_destroy (connection->pool);
   free (connection->addr);
@@ -1502,7 +1502,7 @@
   if (MHD_USE_SUSPEND_RESUME != (daemon->options & MHD_USE_SUSPEND_RESUME))
     MHD_PANIC ("Cannot suspend connections without enabling 
MHD_USE_SUSPEND_RESUME!\n");
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   DLL_remove (daemon->connections_head,
               daemon->connections_tail,
@@ -1541,7 +1541,7 @@
 #endif
   connection->suspended = MHD_YES;
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -1563,7 +1563,7 @@
   if (MHD_USE_SUSPEND_RESUME != (daemon->options & MHD_USE_SUSPEND_RESUME))
     MHD_PANIC ("Cannot resume connections without enabling 
MHD_USE_SUSPEND_RESUME!\n");
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   connection->resuming = MHD_YES;
   daemon->resuming = MHD_YES;
@@ -1576,7 +1576,7 @@
 #endif
     }
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -1593,7 +1593,7 @@
   struct MHD_Connection *next = NULL;
 
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
 
   if (MHD_YES == daemon->resuming)
@@ -1650,7 +1650,7 @@
     }
   daemon->resuming = MHD_NO;
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -1847,7 +1847,7 @@
   int rc;
 
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   while (NULL != (pos = daemon->cleanup_head))
     {
@@ -1915,7 +1915,7 @@
       daemon->max_connections++;
     }
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 }
 
@@ -3441,7 +3441,7 @@
        }
     }
 
-  if (0 != pthread_mutex_init (&daemon->nnc_lock, NULL))
+  if (MHD_YES != MHD_mutex_create_ (&daemon->nnc_lock))
     {
 #if HAVE_MESSAGES
       MHD_DLOG (daemon,
@@ -3691,7 +3691,7 @@
     }
 #endif
 
-  if (0 != pthread_mutex_init (&daemon->per_ip_connection_mutex, NULL))
+  if (MHD_YES != MHD_mutex_create_ (&daemon->per_ip_connection_mutex))
     {
 #if HAVE_MESSAGES
       MHD_DLOG (daemon,
@@ -3702,13 +3702,13 @@
        MHD_PANIC ("close failed\n");
       goto free_and_fail;
     }
-  if (0 != pthread_mutex_init (&daemon->cleanup_connection_mutex, NULL))
+  if (MHD_YES != MHD_mutex_create_ (&daemon->cleanup_connection_mutex))
     {
 #if HAVE_MESSAGES
       MHD_DLOG (daemon,
                "MHD failed to initialize IP connection limit mutex\n");
 #endif
-      pthread_mutex_destroy (&daemon->cleanup_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->cleanup_connection_mutex);
       if ( (MHD_INVALID_SOCKET != socket_fd) &&
           (0 != MHD_socket_close_ (socket_fd)) )
        MHD_PANIC ("close failed\n");
@@ -3726,8 +3726,8 @@
       if ( (MHD_INVALID_SOCKET != socket_fd) &&
           (0 != MHD_socket_close_ (socket_fd)) )
        MHD_PANIC ("close failed\n");
-      pthread_mutex_destroy (&daemon->cleanup_connection_mutex);
-      pthread_mutex_destroy (&daemon->per_ip_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->cleanup_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->per_ip_connection_mutex);
       goto free_and_fail;
     }
 #endif
@@ -3743,8 +3743,8 @@
                 "Failed to create listen thread: %s\n",
                MHD_strerror_ (res_thread_create));
 #endif
-      pthread_mutex_destroy (&daemon->cleanup_connection_mutex);
-      pthread_mutex_destroy (&daemon->per_ip_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->cleanup_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->per_ip_connection_mutex);
       if ( (MHD_INVALID_SOCKET != socket_fd) &&
           (0 != MHD_socket_close_ (socket_fd)) )
        MHD_PANIC ("close failed\n");
@@ -3843,7 +3843,7 @@
            goto thread_failed;
 #endif
           /* Must init cleanup connection mutex for each worker */
-          if (0 != pthread_mutex_init (&d->cleanup_connection_mutex, NULL))
+          if (MHD_YES != MHD_mutex_create_ (&d->cleanup_connection_mutex))
             {
 #if HAVE_MESSAGES
               MHD_DLOG (daemon,
@@ -3863,7 +3863,7 @@
 #endif
               /* Free memory for this worker; cleanup below handles
                * all previously-created workers. */
-              pthread_mutex_destroy (&d->cleanup_connection_mutex);
+              MHD_mutex_destroy_ (&d->cleanup_connection_mutex);
               goto thread_failed;
             }
         }
@@ -3880,8 +3880,8 @@
       if ( (MHD_INVALID_SOCKET != socket_fd) &&
           (0 != MHD_socket_close_ (socket_fd)) )
        MHD_PANIC ("close failed\n");
-      pthread_mutex_destroy (&daemon->cleanup_connection_mutex);
-      pthread_mutex_destroy (&daemon->per_ip_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->cleanup_connection_mutex);
+      MHD_mutex_destroy_ (&daemon->per_ip_connection_mutex);
       if (NULL != daemon->worker_pool)
         free (daemon->worker_pool);
       goto free_and_fail;
@@ -3904,7 +3904,7 @@
 #endif
 #ifdef DAUTH_SUPPORT
   free (daemon->nnc);
-  pthread_mutex_destroy (&daemon->nnc_lock);
+  MHD_mutex_destroy_ (&daemon->nnc_lock);
 #endif
 #if HTTPS_SUPPORT
   if (0 != (flags & MHD_USE_SSL))
@@ -3963,13 +3963,13 @@
   /* first, make sure all threads are aware of shutdown; need to
      traverse DLLs in peace... */
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_lock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to acquire cleanup mutex\n");
   for (pos = daemon->connections_head; NULL != pos; pos = pos->nextX)
     shutdown (pos->socket_fd,
              (pos->read_closed == MHD_YES) ? SHUT_WR : SHUT_RDWR);
   if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
-       (0 != pthread_mutex_unlock (&daemon->cleanup_connection_mutex)) )
+       (MHD_YES != MHD_mutex_unlock_ (&daemon->cleanup_connection_mutex)) )
     MHD_PANIC ("Failed to release cleanup mutex\n");
 
   /* now, collect threads from thread pool */
@@ -4093,7 +4093,7 @@
          if (0 != (rc = pthread_join (daemon->worker_pool[i].pid, &unused)))
              MHD_PANIC ("Failed to join a thread\n");
          close_all_connections (&daemon->worker_pool[i]);
-         pthread_mutex_destroy 
(&daemon->worker_pool[i].cleanup_connection_mutex);
+         MHD_mutex_destroy_ (&daemon->worker_pool[i].cleanup_connection_mutex);
 #if EPOLL_SUPPORT
          if ( (-1 != daemon->worker_pool[i].epoll_fd) &&
               (0 != MHD_socket_close_ (daemon->worker_pool[i].epoll_fd)) )
@@ -4148,10 +4148,10 @@
 
 #ifdef DAUTH_SUPPORT
   free (daemon->nnc);
-  pthread_mutex_destroy (&daemon->nnc_lock);
+  MHD_mutex_destroy_ (&daemon->nnc_lock);
 #endif
-  pthread_mutex_destroy (&daemon->per_ip_connection_mutex);
-  pthread_mutex_destroy (&daemon->cleanup_connection_mutex);
+  MHD_mutex_destroy_ (&daemon->per_ip_connection_mutex);
+  MHD_mutex_destroy_ (&daemon->cleanup_connection_mutex);
 
   if (MHD_INVALID_PIPE_ != daemon->wpipe[1])
     {

Modified: libmicrohttpd/src/microhttpd/digestauth.c
===================================================================
--- libmicrohttpd/src/microhttpd/digestauth.c   2014-04-01 06:16:04 UTC (rev 
32865)
+++ libmicrohttpd/src/microhttpd/digestauth.c   2014-04-01 06:16:16 UTC (rev 
32866)
@@ -27,6 +27,13 @@
 #include "internal.h"
 #include "md5.h"
 
+#if defined(_WIN32) && defined(MHD_W32_MUTEX_)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif /* !WIN32_LEAN_AND_MEAN */
+#include <windows.h>
+#endif /* _WIN32 && MHD_W32_MUTEX_ */
+
 #define HASH_MD5_HEX_LEN (2 * MD5_DIGEST_SIZE)
 
 /**
@@ -317,19 +324,19 @@
    * then only increase the nonce counter by one.
    */
 
-  (void) pthread_mutex_lock (&connection->daemon->nnc_lock);
+  (void) MHD_mutex_lock_ (&connection->daemon->nnc_lock);
   if (0 == nc)
     {
       strcpy(connection->daemon->nnc[off].nonce,
             nonce);
       connection->daemon->nnc[off].nc = 0;
-      (void) pthread_mutex_unlock (&connection->daemon->nnc_lock);
+      (void) MHD_mutex_unlock_ (&connection->daemon->nnc_lock);
       return MHD_YES;
     }
   if ( (nc <= connection->daemon->nnc[off].nc) ||
        (0 != strcmp(connection->daemon->nnc[off].nonce, nonce)) )
     {
-      (void) pthread_mutex_unlock (&connection->daemon->nnc_lock);
+      (void) MHD_mutex_unlock_ (&connection->daemon->nnc_lock);
 #if HAVE_MESSAGES
       MHD_DLOG (connection->daemon,
                "Stale nonce received.  If this happens a lot, you should 
probably increase the size of the nonce array.\n");
@@ -337,7 +344,7 @@
       return MHD_NO;
     }
   connection->daemon->nnc[off].nc = nc;
-  (void) pthread_mutex_unlock (&connection->daemon->nnc_lock);
+  (void) MHD_mutex_unlock_ (&connection->daemon->nnc_lock);
   return MHD_YES;
 }
 

Modified: libmicrohttpd/src/microhttpd/internal.h
===================================================================
--- libmicrohttpd/src/microhttpd/internal.h     2014-04-01 06:16:04 UTC (rev 
32865)
+++ libmicrohttpd/src/microhttpd/internal.h     2014-04-01 06:16:16 UTC (rev 
32866)
@@ -287,7 +287,7 @@
    * Mutex to synchronize access to data/size and
    * reference counts.
    */
-  pthread_mutex_t mutex;
+  MHD_mutex_ mutex;
 
   /**
    * Set to MHD_SIZE_UNKNOWN if size is not known.
@@ -1077,12 +1077,12 @@
   /**
    * Mutex for per-IP connection counts.
    */
-  pthread_mutex_t per_ip_connection_mutex;
+  MHD_mutex_ per_ip_connection_mutex;
 
   /**
    * Mutex for (modifying) access to the "cleanup" connection DLL.
    */
-  pthread_mutex_t cleanup_connection_mutex;
+  MHD_mutex_ cleanup_connection_mutex;
 
   /**
    * Listen socket.
@@ -1218,7 +1218,7 @@
   /**
    * A rw-lock for synchronizing access to `nnc'.
    */
-  pthread_mutex_t nnc_lock;
+  MHD_mutex_ nnc_lock;
 
   /**
    * Size of `digest_auth_random.

Modified: libmicrohttpd/src/microhttpd/response.c
===================================================================
--- libmicrohttpd/src/microhttpd/response.c     2014-04-01 06:16:04 UTC (rev 
32865)
+++ libmicrohttpd/src/microhttpd/response.c     2014-04-01 06:16:16 UTC (rev 
32866)
@@ -27,7 +27,14 @@
 #include "internal.h"
 #include "response.h"
 
+#if defined(_WIN32) && defined(MHD_W32_MUTEX_)
+#ifndef WIN32_LEAN_AND_MEAN
+#define WIN32_LEAN_AND_MEAN 1
+#endif /* !WIN32_LEAN_AND_MEAN */
+#include <windows.h>
+#endif /* _WIN32 && MHD_W32_MUTEX_ */
 
+
 /**
  * Add a header or footer line to the response.
  *
@@ -244,7 +251,7 @@
   response->fd = -1;
   response->data = (void *) &response[1];
   response->data_buffer_size = block_size;
-  if (0 != pthread_mutex_init (&response->mutex, NULL))
+  if (MHD_YES != MHD_mutex_create_ (&response->mutex))
     {
       free (response);
       return NULL;
@@ -381,7 +388,7 @@
     return NULL;
   memset (response, 0, sizeof (struct MHD_Response));
   response->fd = -1;
-  if (0 != pthread_mutex_init (&response->mutex, NULL))
+  if (MHD_YES != MHD_mutex_create_ (&response->mutex))
     {
       free (response);
       return NULL;
@@ -390,7 +397,7 @@
     {
       if (NULL == (tmp = malloc (size)))
         {
-         pthread_mutex_destroy (&response->mutex);
+          MHD_mutex_destroy_ (&response->mutex);
           free (response);
           return NULL;
         }
@@ -447,14 +454,14 @@
 
   if (NULL == response)
     return;
-  pthread_mutex_lock (&response->mutex);
+  MHD_mutex_lock_ (&response->mutex);
   if (0 != --(response->reference_count))
     {
-      pthread_mutex_unlock (&response->mutex);
+      MHD_mutex_unlock_ (&response->mutex);
       return;
     }
-  pthread_mutex_unlock (&response->mutex);
-  pthread_mutex_destroy (&response->mutex);
+  MHD_mutex_unlock_ (&response->mutex);
+  MHD_mutex_destroy_ (&response->mutex);
   if (response->crfc != NULL)
     response->crfc (response->crc_cls);
   while (NULL != response->first_header)
@@ -472,9 +479,9 @@
 void
 MHD_increment_response_rc (struct MHD_Response *response)
 {
-  pthread_mutex_lock (&response->mutex);
+  MHD_mutex_lock_ (&response->mutex);
   (response->reference_count)++;
-  pthread_mutex_unlock (&response->mutex);
+  MHD_mutex_unlock_ (&response->mutex);
 }
 
 




reply via email to

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