Re: PoCo::Client::HTTP 0.943 + run_one_timeslice = block
[email protected] (Rocco Caputo) Sat, 30 Jul 2011 04:45:04 -0400
| Newsgroups | perl.poe |
|---|---|
| Message-ID | <[email protected]> |
Please open a ticket against POE::Component::Client::HTTP if shutdown in your DESTROY method doesn't resolve it. -- Rocco Caputo <[email protected]> On Jun 22, 2011, at 23:19, Rocco Caputo wrote: > 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 <[email protected]> > > On Jun 18, 2011, at 14:17, [email protected] 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 >> [email protected] >