From: samuel@... Date: 2020-06-16T11:54:36+00:00 Subject: [ruby-core:98825] [Ruby master Bug#16962] IO.close behaviour Issue #16962 has been reported by ioquatix (Samuel Williams). ---------------------------------------- Bug #16962: IO.close behaviour https://bugs.ruby-lang.org/issues/16962 * Author: ioquatix (Samuel Williams) * Status: Open * Priority: Normal * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- I discussed this with @eregon and I think the goal here is to try and figure out a way these interfaces can be a bit less confusing. 1/ I don't understand this behaviour: ```ruby STDOUT.close STDOUT.puts "Hello World" # => closed stream ``` vs ```ruby IO.for_fd(STDOUT.fileno, autoclose: true).close STDOUT.puts "Hello World" # => Hello World ``` 2/ `IO.for_fd(..., autoclose: true/false)` The documentation for `autoclose` is: > If the value is false, the fd will be kept open after this IO instance gets finalized. But it also seems to affect `#close` - i.e. calling close does not close underlying file descriptor. Should we fix the documentation or is the implementation wrong? -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>