On Wed, 16 Jan 2002 06:31:51 +1100, Eirikur Hallgrimsson wrote:

I just realised what the problem is!  You've been bitten by
the "threads don't abort on exception" problem that has caused
me confusion about fifty times now.

The real issue is that you need a "require 'open3'" at the top.

What's happening is that the thread is throwing an exception,
because Open3 is an undefined symbol, but you can't see that's
happening, because, by default, when a thread throws an exception,
it just dies quietly, rather than aborting with a stack trace.

I recommend setting Thread.abort_on_exception to true during
your testing phase for any new thread code.  Once you're happy
that it's "always" going to be OK, take that out.

Anyway, sticking the require at the top should sort it out,
but as I said previously, you'll probably want to get rid
of the each_line code, otherwise your var won't end up with
any data.

I think I've mentioned before that I think the default should
be that abort_on_exception is true, because it causes confusion
every time I write multithreaded code ... of course, maybe most
people are smarter than me and learn after the third or fourth
time :-).