From: naruse@... Date: 2015-12-16T03:01:55+00:00 Subject: [ruby-core:72168] [Ruby trunk - Feature #11806] [PATCH] IO#advise should not raise Errno::ENOSYS Issue #11806 has been updated by Yui NARUSE. I don't know fadvise well, By this change an application lose any way of getting the result of posix_fadvise. Is it really sufficient? For example how about returning errno as the return value instead of returning always nil? (it is also OK that keep returning nil until someone request to change) Anyway could you add a description to NEWS? ---------------------------------------- Feature #11806: [PATCH] IO#advise should not raise Errno::ENOSYS https://bugs.ruby-lang.org/issues/11806#change-55579 * Author: Eric Wong * Status: Closed * Priority: Normal * Assignee: Eric Wong ---------------------------------------- As it is just a hint the kernel is free to ignore, IO#advise already succeeds when posix_fadvise is not available build time at all. Following that, if posix_fadvise was available at build time but not implemented in the running kernel, we should also ignore it. * io.c (do_io_advise): do not raise on ENOSYS * test/ruby/test_io.rb (test_advise): do not skip on Errno::ENOSYS (test_advise_pipe): ditto ---Files-------------------------------- 0001-IO-advise-avoids-raising-Errno-ENOSYS.patch (2.31 KB) -- https://bugs.ruby-lang.org/