[#44036] [ruby-trunk - Feature #6242][Open] Ruby should support lists — "shugo (Shugo Maeda)" <redmine@...>

20 messages 2012/04/01

[#44084] [ruby-trunk - Bug #6246][Open] 1.9.3-p125 intermittent segfault — "jshow (Jodi Showers)" <jodi@...>

22 messages 2012/04/02

[#44156] [ruby-trunk - Feature #6265][Open] Remove 'useless' 'concatenation' syntax — "rosenfeld (Rodrigo Rosenfeld Rosas)" <rr.rosas@...>

45 messages 2012/04/06

[#44163] [ruby-trunk - Bug #6266][Open] encoding related exception with recent integrated psych — "jonforums (Jon Forums)" <redmine@...>

10 messages 2012/04/06

[#44303] [ruby-trunk - Feature #6284][Open] Add composition for procs — "pabloh (Pablo Herrero)" <pablodherrero@...>

57 messages 2012/04/12

[#44349] [ruby-trunk - Feature #6293][Open] new queue / blocking queues — "tenderlovemaking (Aaron Patterson)" <aaron@...>

10 messages 2012/04/13

[#44402] [ruby-trunk - Feature #6308][Open] Eliminate delegation from WeakRef — "headius (Charles Nutter)" <headius@...>

20 messages 2012/04/17

[#44403] [ruby-trunk - Feature #6309][Open] Add a reference queue for weak references — "headius (Charles Nutter)" <headius@...>

15 messages 2012/04/17

[#44533] [ruby-trunk - Bug #6341][Open] SIGSEGV: Thread.new { fork { GC.start } }.join — "rudolf (r stu3)" <redmine@...>

24 messages 2012/04/22

[#44630] [ruby-trunk - Feature #6361][Open] Bitwise string operations — "MartinBosslet (Martin Bosslet)" <Martin.Bosslet@...>

31 messages 2012/04/26

[#44648] [ruby-trunk - Feature #6367][Open] #same? for Enumerable — "prijutme4ty (Ilya Vorontsov)" <prijutme4ty@...>

16 messages 2012/04/26

[#44704] [ruby-trunk - Feature #6373][Open] public #self — "trans (Thomas Sawyer)" <transfire@...>

61 messages 2012/04/27

[#44748] [ruby-trunk - Feature #6376][Open] Feature lookup and checking if feature is loaded — "trans (Thomas Sawyer)" <transfire@...>

13 messages 2012/04/28

[ruby-core:44188] [ruby-trunk - Bug #6269] Process.spawn does not work with Tempfile

From: "matled (Matthias Lederhofer)" <matled@...>
Date: 2012-04-08 09:46:21 UTC
List: ruby-core #44188
Issue #6269 has been updated by matled (Matthias Lederhofer).


I find it a bit inconsistent that a Tempfile object is not supported,
as, for example, this code works without a problem:

    Process.spawn("date", :out => File.open(tmp.path, "w"))

That is, it is supported to pass an IO/File object directly, without
calling #fileno to pass the file descriptior itself.  There is also
already code in check_exec_redirect_fd that tries to get a T_FILE object
by calling "to_io".  Tempfile would happily provide an IO object if
#to_io would be called.  I think it would be more user friendly if
#to_io would be called on the object before throwing an error, so user
defined classes, that do not directly inherit from IO, can be used too
without an extra method call.

----------------------------------------
Bug #6269: Process.spawn does not work with Tempfile
https://bugs.ruby-lang.org/issues/6269#change-25716

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/

In This Thread