ClickHouse/libs/libcommon/include/common/mremap.h
2017-11-16 22:17:09 +03:00

45 lines
785 B
C++

#pragma once
#include <cstddef>
#include <sys/mman.h>
#if defined(MREMAP_MAYMOVE)
// we already have implementation (linux)
#else
#define MREMAP_MAYMOVE 1
void * mremap(void * old_address,
size_t old_size,
size_t new_size,
int flags = 0,
int mmap_prot = 0,
int mmap_flags = 0,
int mmap_fd = -1,
off_t mmap_offset = 0);
#endif
inline void * clickhouse_mremap(void * old_address,
size_t old_size,
size_t new_size,
int flags = 0,
int mmap_prot = 0,
int mmap_flags = 0,
int mmap_fd = -1,
off_t mmap_offset = 0)
{
return mremap(old_address,
old_size,
new_size,
flags
#if !defined(MREMAP_FIXED)
,
mmap_prot,
mmap_flags,
mmap_fd,
mmap_offset
#endif
);
}