From: "ssuda (Sambasiva Suda)" Date: 2012-04-08T04:34:35+09:00 Subject: [ruby-core:44183] [ruby-trunk - Bug #6269] Process.spawn does not work with Tempfile Issue #6269 has been updated by ssuda (Sambasiva Suda). ssuda (Sambasiva Suda) wrote: > :in, :out and :err expects path or fd. Please try Process.spawn("date", :out => tmp.path) or Process.spawn("date", :out => tmp.to_i) ---------------------------------------- Bug #6269: Process.spawn does not work with Tempfile https://bugs.ruby-lang.org/issues/6269#change-25707 Author: matled (Matthias Lederhofer) Status: Open Priority: Normal Assignee: 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/