There are two rb files:

run_work.rb
----------
#some code here
children=[]
str="ruby work.rb"
children<<Thread.new
  system(str)
end
children.each do |c|
  c.join
end
puts 'third'
#some code here


work.rb
------
children=[]
children<<Thread.new
  #some code here
end
puts 'first'
children.each do |c|
  c.join                 ############## 'alpha'
  puts 'DONE!'
end
puts 'second'

==============================================
If I run run_work.rb, I see output as:
first
third

Where did 'second go'?
So On rubymines I kept one breakpoint at 'alpha'. It doesnt come out of
that join statement and so never print 'DONE!', so again I re-run and
when the control is at alpha (alpha statement is yet to be executed), I
entered c.join in 'watches'-list of debug on rubymines:
it gives:
Couldn't evaluate: t.joinUnable to read information in the specified
timeout[10s].

-- 
Posted via http://www.ruby-forum.com/.