Thread


#1

Hi,
My code looks similar to following:


def someFunction()
#do telnet connection
#execute binary file which throws on std its output endlessly
end

tr = Thread.new() { someFunction() }

while true

sth to done …

and show tr status

puts “Status tr: #{tr.status}”
end

someFunction executes telnet command which executes an application which
throws debug messages on output - this output is continually writes to a
file. Summary: telnet command never ends ( I hope so ).
In main thread in each iteration of while loop I’ve tried to puts tr
status but each time it notifies that tr.status => sleep

Can anybody explain me what is wrong or explain me what Thread#status
statuses means?

Thanks in advance.


#2

someFunction executes telnet command which executes an application which
throws debug messages on output - this output is continually writes to a
file. Summary: telnet command never ends ( I hope so ).
In main thread in each iteration of while loop I’ve tried to puts tr
status but each time it notifies that tr.status => sleep

Can anybody explain me what is wrong or explain me what Thread#status
statuses means?

It should be that the someFunction its waiting for I/O… take a look at

http://corelib.rubyonrails.org/classes/Thread.html#M001144


#3

2007/7/3, Marcin T. removed_email_address@domain.invalid:

someFunction executes telnet command which executes an application which
throws debug messages on output - this output is continually writes to a
file. Summary: telnet command never ends ( I hope so ).
In main thread in each iteration of while loop I’ve tried to puts tr
status but each time it notifies that tr.status => sleep

Can anybody explain me what is wrong or explain me what Thread#status
statuses means?

It probably just means that the thread is waiting for IO from the
child process. To give more detailed answers you probably should
disclose a bit more detail.

Kind regards

robert