Forum: Ruby Thread

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Marcin T. (Guest)
on 2007-07-03 14:47
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.
Moises D. (Guest)
on 2007-07-03 15:02
> 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
Robert K. (Guest)
on 2007-07-03 15:05
(Received via mailing list)
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
This topic is locked and can not be replied to.