diff --git a/configure.ac b/configure.ac index 5a6b074f8a..b870896b5d 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/io_buffer.c b/io_buffer.c index 71136d4eb6..fb18e729a6 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -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);