It may have something to do with the new POE::Component::Resolver dependency 
via POE::Component::Client::Keepalive.

You're trying to trigger a shutdown by destroying a LWP::UserAgent::POE object. 
 However, you don't have a DESTROY method that "shutdown"s PoCo::Client::HTTP.

Without an explicit shutdown, I think KeepAlive is keeping sockets alive.

-- 
Rocco Caputo <rcap...@pobox.com>

On Jun 18, 2011, at 14:17, p...@perlmeister.com wrote:

> Something must have changed in PoCo::Client::HTTP 0.943 leaving the
> kernel blocking even if all requests have been processed.
> 
> It occurs with a component using the (evil, I know!) run_one_timeslice()
> method, namely
> 
>     http://cpansearch.perl.org/src/MSCHILLI/LWP-UserAgent-POE-0.03/POE.pm
> 
> which then hangs in the test at
> 
>     
> http://cpansearch.perl.org/src/MSCHILLI/LWP-UserAgent-POE-0.03/t/001Basic.t
> 
> What I'm seeing is that even when the only HTTP request has been
> processed, the kernel reports
> 
> === 18510 === <rc> +----- GC test for session 1-----
> <rc> | total refcnt  : 2
> <rc> | event count   : 0
> <rc> | post count    : 0
> <rc> | child sessions: 2
> <rc> | handles in use: 0
> <rc> | aliases in use: 0
> <rc> | extra refs    : 0
> <rc> | pid count     : 0
> <rc> +---------------------------------------------------
> 
> and then blocks on the main CORE::select() with a timeout of roughly
> 3600 seconds instead of terminating the main loop.
> 
> Any ideas on what might have changed recently?
> 
> -- Mike
> 
> Mike Schilli
> p...@perlmeister.com

Reply via email to