[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r32390 - libmicrohttpd/src/microhttpd
From: |
gnunet |
Subject: |
[GNUnet-SVN] r32390 - libmicrohttpd/src/microhttpd |
Date: |
Tue, 18 Feb 2014 19:37:13 +0100 |
Author: Karlson2k
Date: 2014-02-18 19:37:13 +0100 (Tue, 18 Feb 2014)
New Revision: 32390
Modified:
libmicrohttpd/src/microhttpd/memorypool.c
Log:
memorypool.c: use native memory function for W32
Modified: libmicrohttpd/src/microhttpd/memorypool.c
===================================================================
--- libmicrohttpd/src/microhttpd/memorypool.c 2014-02-18 18:34:36 UTC (rev
32389)
+++ libmicrohttpd/src/microhttpd/memorypool.c 2014-02-18 18:37:13 UTC (rev
32390)
@@ -71,7 +71,7 @@
size_t end;
/**
- * #MHD_NO if pool was malloc'ed, #MHD_YES if mmapped.
+ * #MHD_NO if pool was malloc'ed, #MHD_YES if mmapped (VirtualAlloc'ed for
W32).
*/
int is_mmap;
};
@@ -91,12 +91,17 @@
pool = malloc (sizeof (struct MemoryPool));
if (NULL == pool)
return NULL;
-#ifdef MAP_ANONYMOUS
+#if defined(MAP_ANONYMOUS) || defined(_WIN32)
if (max <= 32 * 1024)
pool->memory = MAP_FAILED;
else
- pool->memory = MMAP (NULL, max, PROT_READ | PROT_WRITE,
+#if defined(MAP_ANONYMOUS) && !defined(_WIN32)
+ pool->memory = mmap (NULL, max, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+#elif defined(_WIN32)
+ pool->memory = VirtualAlloc(NULL, max, MEM_COMMIT | MEM_RESERVE,
+ PAGE_READWRITE);
+#endif
#else
pool->memory = MAP_FAILED;
#endif
@@ -134,7 +139,13 @@
if (pool->is_mmap == MHD_NO)
free (pool->memory);
else
- MUNMAP (pool->memory, pool->size);
+#if defined(MAP_ANONYMOUS) && !defined(_WIN32)
+ munmap (pool->memory, pool->size);
+#elif defined(_WIN32)
+ VirtualFree(pool->memory, 0, MEM_RELEASE);
+#else
+ abort();
+#endif
free (pool);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32390 - libmicrohttpd/src/microhttpd,
gnunet <=