Project

General

Profile

Actions

Bug #10583

closed

Process.spawn stalls forever opening named pipes (fifo)

Added by ezran (Justin Greer) over 9 years ago. Updated about 9 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
[ruby-core:66759]

Description

Ruby's implementation of Process.spawn seems to attempt to send error/success information from the spawned process back to the parent, and the parent won't continue until it gets this information. However, a named pipe (fifo) is mapped to the spawned process' IO, it will stall opening the IO stream, and never be able to send the error/success status back to the parent.

While stalled, the parent process is sitting here: https://github.com/ruby/ruby/blob/ruby_2_1/process.c#L3403 This prevents spawning multiple commands that communicate through a named pipe.

Example testcase is attached.


Files

spawn_bug_example.rb (486 Bytes) spawn_bug_example.rb Example Testcase ezran (Justin Greer), 12/09/2014 05:44 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0