summaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authorDmitry Ilyin <dima@doty.ru>2022-08-07 13:51:48 +0300
committerAzat Khuzhin <azat@libevent.org>2022-08-09 00:18:10 +0200
commit99fd68abde4a59b90148db733fc51a7256cbd320 (patch)
tree0d0a7a0a3a689950921ad4536adc0bbc0c0919f1 /buffer.c
parentb2aca3bc31f46e7ea2fe2ac826ce2d3e6235f513 (diff)
downloadlibevent-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.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c
index fcbcba3c..825f6a29 100644
--- a/buffer.c
+++ b/buffer.c
@@ -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 | /* ??? */