From: David Martin Date: 2009-03-15T09:14:24+09:00 Subject: [ruby-core:22893] [Feature #1291] O_CLOEXEC flag missing for Kernel::open Feature #1291: O_CLOEXEC flag missing for Kernel::open http://redmine.ruby-lang.org/issues/show/1291 Author: David Martin Status: Open, Priority: Normal Category: core Linux has a the most useful O_CLOEXEC flag for open() that sets the CLOEXEC flag on the new file descriptor. You can currently set the CLOEXEC flag on an open file descriptor using IO::fcntl(), but note that this does *not* work in a multithreaded program: If one thread does open/fcntl while another does an exec, there is a race condition that could produce a file descriptor leak. The only safe way to open a file with the CLOEXEC flag set in general (as far as I know) is to use the O_CLOEXEC flag to open(). ---------------------------------------- http://redmine.ruby-lang.org