X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=opt%2Fdlmalloc%2Fdlmalloc.h;h=d2dda49bcc2be3330fd74b32744ddcb04036fb25;hb=3a988bf47bda2322d7759d3c4518c03e0ef98ba4;hp=c62029840086fb6a5eca59b55fe26850269b91c9;hpb=7015f5842d05bd5da32523048e4260e60e9e310c;p=pdclib diff --git a/opt/dlmalloc/dlmalloc.h b/opt/dlmalloc/dlmalloc.h index c620298..d2dda49 100644 --- a/opt/dlmalloc/dlmalloc.h +++ b/opt/dlmalloc/dlmalloc.h @@ -18,12 +18,19 @@ static void init_malloc_global_mutex(void) mtx_init(&malloc_global_mutex, mtx_plain); } -#define MMAP(s) _PDCLIB_allocpages((s)/_PDCLIB_MALLOC_PAGESIZE) +static inline void *MMAP( size_t nbytes ) +{ + void *p = _PDCLIB_allocpages( nbytes / _PDCLIB_MALLOC_PAGESIZE ); + return p ? p : (void*) (~(size_t)0); +} + +#define MMAP(s) MMAP(s) #define DIRECT_MMAP(s) MMAP(s) #define MUNMAP(a, s) ((_PDCLIB_freepages((a), (s)/_PDCLIB_MALLOC_PAGESIZE)), 0) #define MREMAP(a, osz, nsz, mv) _PDCLIB_reallocpages((a), (osz)/_PDCLIB_MALLOC_PAGESIZE, (nsz)/_PDCLIB_MALLOC_PAGESIZE, (mv)) #undef WIN32 +#undef _WIN32 #define DLMALLOC_EXPORT _PDCLIB_API #define MALLOC_ALIGNMENT _PDCLIB_MALLOC_ALIGN #define MSPACES 0 @@ -66,7 +73,7 @@ static void init_malloc_global_mutex(void) #define MAX_RELEASE_CHECK_RATE _PDCLIB_MALLOC_RELEASE_CHECK_RATE /* C standard says this is so */ -#define REALLOC_ZERO_BYTES_FREES 1 +#define REALLOC_ZERO_BYTES_FREES 1 #define LACKS_UNISTD_H #define LACKS_FCNTL_H #define LACKS_SYS_PARAM_H @@ -75,4 +82,4 @@ static void init_malloc_global_mutex(void) #define LACKS_SYS_TYPES_H #define LACKS_SCHED_H #include -#include \ No newline at end of file +#include