summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authorkanemoto <kanemoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-06-08 14:39:27 +0000
committerkanemoto <kanemoto@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-06-08 14:39:27 +0000
commit1c0b507b79799f45de344c4b21103472fe3e5082 (patch)
treed534a0fad513d8115e4af31efb7fb345d04b5d82 /io.c
parentbcc2c89eb58a9fa1b356e3326bcb4557308d2921 (diff)
io.c (rb_io_advise): AIX currently does not support a 32-bit call to
posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira. [ruby-core:62968] [Bug #9914] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/io.c b/io.c
index 9900118818..81067126d0 100644
--- a/io.c
+++ b/io.c
@@ -8591,7 +8591,10 @@ rb_io_advise(int argc, VALUE *argv, VALUE io)
off = NIL_P(offset) ? 0 : NUM2OFFT(offset);
l = NIL_P(len) ? 0 : NUM2OFFT(len);
-#ifdef HAVE_POSIX_FADVISE
+ /* AIX currently does not support a 32-bit call to posix_fadvise()
+ * if _LARGE_FILES is defined.
+ */
+#if defined(HAVE_POSIX_FADVISE) && !(defined(_AIX) && defined(_LARGE_FILES) && !defined(_ARCH_PPC64))
return do_io_advise(fptr, advice, off, l);
#else
((void)off, (void)l); /* Ignore all hint */