Reason for this is under win32 and linux I want to launch a Java program
and control it from Ruby.  Right now I am trying it on win32 because I
know it's the harder of the two.  Something like this:

Thread.new {
  pipe = IO.popen('java Test')
  while data=pipe.readline
    puts data
  end
}

while true
  puts "ruby thread"
  sleep 3
end

Where my Text.class (java file) simply loops, sleeping 3 seconds and
prints out "java thread" to stdout which is what the ruby thread is
reading in its loop.  The java app also opens a swing window in another
thread to verify that Java GUI apps work through a pipe.  After 5
iterations, the java app throws an exception in its main thread.

The second loop runs in the main thread in ruby and prints out "ruby
thread" every three seconds.  Here is the issue:

When the java app throws the exception the swing window remains visible
and the ruby thread which was happily printing "ruby thread" interwoven
with the java subprocess printing "java thread" stops.  When I close the
swing app the ruby messages resume.

Would your patch offer more robust/correct support to interleaving such
subprocesses on win32?

-Rich

> -----Original Message-----
> From: U.Nakamura [mailto:usa / osb.att.ne.jp]
> Sent: Wednesday, April 24, 2002 1:55 AM
> To: ruby-talk ML
> Subject: Re: io/process/win32 patch
> 
> Hello,
> 
> In message "io/process/win32 patch"
>     on Apr.24,2002 14:27:34, <rich / infoether.com> wrote:
> | Any chance the patch located here:
> |
> | http://www.ruby-lang.org/~usa/tmp/win32_pipe.patch
> |
> | Is going to be rolled into 1.7.x?
> 
> I wish so.
> It's waiting for public review to commit :-)
> 
> Regards.
> --
> U.Nakamura <usa / osb.att.ne.jp>
>