[#71931] [Ruby trunk - Feature #11786] [Open] [PATCH] micro-optimize case dispatch even harder — normalperson@...

Issue #11786 has been reported by Eric Wong.

9 messages 2015/12/08

[ruby-core:72168] [Ruby trunk - Feature #11806] [PATCH] IO#advise should not raise Errno::ENOSYS

From: naruse@...
Date: 2015-12-16 03:01:55 UTC
List: ruby-core #72168
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/

In This Thread

Prev Next