Project

General

Profile

Actions

Bug #6269

closed

Process.spawn does not work with Tempfile

Added by matled (Matthias Lederhofer) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
Backport:
[ruby-core:44181]

Description

The following code fails with an exception:

require 'tempfile'
tmp = Tempfile.new(File.basename($0))
Process.spawn("date", :out => tmp)

Exception: in `spawn': wrong exec redirect action (ArgumentError)

I would expect that Process.spawn accepts a Tempfile object just as a File or
IO object.

check_exec_redirect fails to detect that a Tempfile object may be used as an
IO. I guess check_exec_redirect_fd should be called even if the object is not
of type T_FILE.

I've tried the following ruby versions:
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]
ruby 2.0.0dev (2012-04-07 trunk 35250) [x86_64-linux]

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0