Project

General

Profile

Actions

Bug #8541

closed

Open3.popen3 creates a broken stdout pipe

Added by ferrous26 (Mark Rada) almost 11 years ago. Updated almost 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0p195 (2013-05-14 revision 40734) [universal.x86_64-darwin13]
[ruby-core:55548]

Description

When I create a subprocess using Open3, the stdout pipe that is returned does allow reading.

Using the sample code provided, Ruby will block indefinitely waiting to read from the subprocess, though the subprocess has printed out to standard output.

If you change the test script to print/read from standard error instead, then everything works.


Files

test.rb (107 Bytes) test.rb ferrous26 (Mark Rada), 06/19/2013 04:50 AM

Updated by ferrous26 (Mark Rada) almost 11 years ago

Note in the test script, the subprocess must continue running in order for the bug to manifest.

Updated by nobu (Nobuyoshi Nakada) almost 11 years ago

  • Status changed from Open to Rejected

Use $stdout.flush after puts, or $stdout.sync = true before puts.

Actions

Also available in: Atom PDF

Like0
Like0Like0