Issue #14907 has been updated by nobu (Nobuyoshi Nakada).
```diff
+ r.close_on_exec = true
+ r.close_on_exec = true
```
The second is `w`?
----------------------------------------
Misc #14907: [PATCH] io.c: do not close inherited FDs by default
https://bugs.ruby-lang.org/issues/14907#change-72919
* Author: normalperson (Eric Wong)
* Status: Open
* Priority: Normal
* Assignee: akr (Akira Tanaka)
----------------------------------------
io.c: do not close inherited FDs by default
While I fully agree Ruby should create FDs with close-on-exec by
default (as it has since 2.0.0); I don't believe Ruby should be
arbitrarily closing file descriptors it does not know about.
The following is an example (using mwrap[1]) where closing
inherited FDs is harmful.
MWRAP=dump_fd:99 mwrap make -j4 exam 99>>mwrap.out
I only found one minor regression from this change in
test/lib/test/unit.rb as IO.new does not set close-on-exec
when using jobserver FDs from make. A possible change
is to make IO.new set FD_CLOEXEC by default.
[1] https://80x24.org/mwrap/README.html
---Files--------------------------------
0001-io.c-do-not-close-inherited-FDs-by-default.patch (4.45 KB)
--
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>