System is silently coming out in error with thread.join

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].

On Mon, Dec 3, 2012 at 3:18 PM, Prog R. [email protected]
wrote:

children.each do |c|
#some code here
first
third

Where did ‘second go’?

I’d say this is your problem:

$ ruby -e Thread.new
-e:1:in initialize': must be called with a block (ThreadError) from -e:1:innew’
from -e:1:in `’

Cheers

robert

$ ruby -e Thread.new
-e:1:in initialize': must be called with a block (ThreadError) from -e:1:innew’
from -e:1:in `’

Cheers

robert

I dont get a fix yet… :frowning:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs