Issue #6269 has been updated by mame (Yusuke Endoh).

Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi Nakada)

Nobu has a patch.  I know.

-- 
Yusuke Endoh <mame / tsg.ne.jp>
----------------------------------------
Bug #6269: Process.spawn does not work with Tempfile
https://bugs.ruby-lang.org/issues/6269#change-25785

Author: matled (Matthias Lederhofer)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi Nakada)
Category: 
Target version: 
ruby -v: ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]


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]



-- 
http://bugs.ruby-lang.org/