зеркало из https://github.com/github/ruby.git
io_buffer.c: use mremap based resizing only when mremap available
some libc implementations (e.g. wasi-libc) define MREMAP_MAYMOVE, but don't have mremap itself, so guard the use of mremap by HAVE_MREMAP
This commit is contained in:
Родитель
5ad507d751
Коммит
ae51f304d2
|
@ -2032,6 +2032,7 @@ AC_CHECK_FUNCS(mkfifo)
|
|||
AC_CHECK_FUNCS(mknod)
|
||||
AC_CHECK_FUNCS(mktime)
|
||||
AC_CHECK_FUNCS(mmap)
|
||||
AC_CHECK_FUNCS(mremap)
|
||||
AC_CHECK_FUNCS(openat)
|
||||
AC_CHECK_FUNCS(pipe2)
|
||||
AC_CHECK_FUNCS(poll)
|
||||
|
|
|
@ -1239,7 +1239,7 @@ rb_io_buffer_resize(VALUE self, size_t size)
|
|||
rb_raise(rb_eIOBufferAccessError, "Cannot resize external buffer!");
|
||||
}
|
||||
|
||||
#ifdef MREMAP_MAYMOVE
|
||||
#if defined(HAVE_MREMAP) && defined(MREMAP_MAYMOVE)
|
||||
if (data->flags & RB_IO_BUFFER_MAPPED) {
|
||||
void *base = mremap(data->base, data->size, size, MREMAP_MAYMOVE);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче