diff options
author | Dmitry Ilyin <dima@doty.ru> | 2022-08-07 13:51:48 +0300 |
---|---|---|
committer | Azat Khuzhin <azat@libevent.org> | 2022-08-09 00:18:10 +0200 |
commit | 99fd68abde4a59b90148db733fc51a7256cbd320 (patch) | |
tree | 0d0a7a0a3a689950921ad4536adc0bbc0c0919f1 /buffer.c | |
parent | b2aca3bc31f46e7ea2fe2ac826ce2d3e6235f513 (diff) | |
download | libevent-99fd68abde4a59b90148db733fc51a7256cbd320.tar.gz |
Add check of mmap64 function and use it when available rather that mmap
There can be issues on 32-bit architectures to mmap 2+GiB file, and to
make this portable between different version of glibc, mmap64 was
prefered over _FILE_OFFSET_BITS
Diffstat (limited to 'buffer.c')
-rw-r--r-- | buffer.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -3080,7 +3080,11 @@ evbuffer_file_segment_materialize(struct evbuffer_file_segment *seg) offset_leftover = offset % page_size; offset_rounded = offset - offset_leftover; } +#if defined(EVENT__HAVE_MMAP64) + mapped = mmap64(NULL, length + offset_leftover, +#else mapped = mmap(NULL, length + offset_leftover, +#endif PROT_READ, #ifdef MAP_NOCACHE MAP_NOCACHE | /* ??? */ |