ruby-changes:70766
From: Yuta <ko1@a...>
Date: Fri, 7 Jan 2022 02:13:44 +0900 (JST)
Subject: [ruby-changes:70766] ae51f304d2 (master): io_buffer.c: use mremap based resizing only when mremap available
https://git.ruby-lang.org/ruby.git/commit/?id=ae51f304d2 From ae51f304d28ca8ff3e0680448371c936f10490d0 Mon Sep 17 00:00:00 2001 From: Yuta Saito <kateinoigakukun@g...> Date: Fri, 7 Jan 2022 00:07:14 +0900 Subject: 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 --- configure.ac | 1 + io_buffer.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 5a6b074f8a1..b870896b5d3 100644 --- a/configure.ac +++ b/configure.ac @@ -2032,6 +2032,7 @@ AC_CHECK_FUNCS(mkfifo) https://github.com/ruby/ruby/blob/trunk/configure.ac#L2032 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 71136d4eb6c..fb18e729a64 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -1239,7 +1239,7 @@ rb_io_buffer_resize(VALUE self, size_t size) https://github.com/ruby/ruby/blob/trunk/io_buffer.c#L1239 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); -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/