Issue #14907 has been updated by normalperson (Eric Wong).

File 0001-process.c-close_others-defaults-to-false.patch added

Updated patch to default close_others to false


----------------------------------------
Misc #14907: [PATCH] io.c: do not close inherited FDs by default
https://bugs.ruby-lang.org/issues/14907#change-73343

* 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)
0001-process.c-close_others-defaults-to-false.patch (4.84 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>