On 9/16/06, Francis Cianfrocca <garbagecat10 / gmail.com> wrote:
> On 9/16/06, Geff Geff <boing / boing.com> 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