From: Arnaud Bergeron Date: 2006-09-18T01:56:18+09:00 Subject: Re: Nested threading? implications to timeout() On 9/16/06, Francis Cianfrocca wrote: > On 9/16/06, Geff Geff wrote: > > What was I thinking was the following: lets consider the case where you > > try to timeout a HTTP connect with the net/http stuff. There are > > already "timeouts" in the HTTP class. If my timeout times out before > > the library's timeout, I end up killing the http thread that is watching > > the tcpconnect thread. The tcpconnect thread lives on until it's done. > > I haven't read through the net/http code as it relates to this issue, > but I did read timeout.rb and as Arnaud says, there should be no > problem. If I may assume that your thread calls timeout on a net/http > call, which in turn calls timeout on a TCP connect-attempt, then if > your timeout fires first, you'll kill the thread that is doing the TCP > connect, because it's the same thread that called net/http. The > "internal" timer thread is left running. It will hold a memory > reference to the killed thread, which can hold resources longer than > you expect, but there's no leak. When the internal timer thread that > is left running eventually times out, it will try to raise an > exception on the killed thread, and nothing will happen. > The timer thread won't even remain because of the ensure at the end of the timeout function that kills it ... -- I'm trying to launch the internet; so I open a terminal and go "percent sign 'Internet'" at the prompt and it doesn't work. What gives??!! -- random troll