Thread

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.

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

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

···

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

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

···

2007/7/3, Marcin Tyman <m.tyman@interia.pl>:

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?