diff options
Diffstat (limited to 'src/microhttpd/memorypool.c')
-rw-r--r-- | src/microhttpd/memorypool.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/src/microhttpd/memorypool.c b/src/microhttpd/memorypool.c index ffcaab43..cf0b897e 100644 --- a/src/microhttpd/memorypool.c +++ b/src/microhttpd/memorypool.c | |||
@@ -45,7 +45,30 @@ | |||
45 | #define MHD_SC_PAGESIZE _SC_PAGESIZE | 45 | #define MHD_SC_PAGESIZE _SC_PAGESIZE |
46 | #endif /* _SC_PAGESIZE */ | 46 | #endif /* _SC_PAGESIZE */ |
47 | #endif /* HAVE_SYSCONF */ | 47 | #endif /* HAVE_SYSCONF */ |
48 | #include "mhd_limits.h" /* for SIZE_MAX */ | 48 | #include "mhd_limits.h" /* for SIZE_MAX, PAGESIZE / PAGE_SIZE */ |
49 | |||
50 | #if defined(MHD_USE_PAGESIZE_MACRO) || defined (MHD_USE_PAGE_SIZE_MACRO) | ||
51 | #ifndef HAVE_SYSCONF /* Avoid duplicate include */ | ||
52 | #include <unistd.h> | ||
53 | #endif /* HAVE_SYSCONF */ | ||
54 | #ifdef HAVE_SYS_PARAM_H | ||
55 | #include <sys/param.h> | ||
56 | #endif /* HAVE_SYS_PARAM_H */ | ||
57 | #endif /* MHD_USE_PAGESIZE_MACRO || MHD_USE_PAGE_SIZE_MACRO */ | ||
58 | |||
59 | /** | ||
60 | * Fallback value of page size | ||
61 | */ | ||
62 | #define _MHD_FALLBACK_PAGE_SIZE (4096) | ||
63 | |||
64 | #if defined(MHD_USE_PAGESIZE_MACRO) | ||
65 | #define MHD_DEF_PAGE_SIZE_ PAGESIZE | ||
66 | #elif defined(MHD_USE_PAGE_SIZE_MACRO) | ||
67 | #define MHD_DEF_PAGE_SIZE_ PAGE_SIZE | ||
68 | #else /* ! PAGESIZE */ | ||
69 | #define MHD_DEF_PAGE_SIZE_ _MHD_FALLBACK_PAGE_SIZE | ||
70 | #endif /* ! PAGESIZE */ | ||
71 | |||
49 | 72 | ||
50 | #ifdef MHD_ASAN_POISON_ACTIVE | 73 | #ifdef MHD_ASAN_POISON_ACTIVE |
51 | #include <sanitizer/asan_interface.h> | 74 | #include <sanitizer/asan_interface.h> |
@@ -94,18 +117,10 @@ | |||
94 | ASAN_UNPOISON_MEMORY_REGION ((pointer), (size)) | 117 | ASAN_UNPOISON_MEMORY_REGION ((pointer), (size)) |
95 | #endif /* MHD_ASAN_POISON_ACTIVE */ | 118 | #endif /* MHD_ASAN_POISON_ACTIVE */ |
96 | 119 | ||
97 | #if defined(PAGE_SIZE) && (0 < (PAGE_SIZE + 0)) | ||
98 | #define MHD_DEF_PAGE_SIZE_ PAGE_SIZE | ||
99 | #elif defined(PAGESIZE) && (0 < (PAGESIZE + 0)) | ||
100 | #define MHD_DEF_PAGE_SIZE_ PAGESIZE | ||
101 | #else /* ! PAGESIZE */ | ||
102 | #define MHD_DEF_PAGE_SIZE_ (4096) | ||
103 | #endif /* ! PAGESIZE */ | ||
104 | |||
105 | /** | 120 | /** |
106 | * Size of memory page | 121 | * Size of memory page |
107 | */ | 122 | */ |
108 | static size_t MHD_sys_page_size_ = MHD_DEF_PAGE_SIZE_; /* Default fallback value */ | 123 | static size_t MHD_sys_page_size_ = _MHD_FALLBACK_PAGE_SIZE; /* Default fallback value */ |
109 | 124 | ||
110 | /** | 125 | /** |
111 | * Initialise values for memory pools | 126 | * Initialise values for memory pools |