On Fri, 11 Aug 2000, Tim Sweetman wrote:
 
> I've seen something similar - when the client browser times out,
> execution seems to stop mid-Print statement, and mod_Perl gets ready for
> the next request, without cleaning up objects present (or, at least,
> without calling ->DESTROY).

this should be fixed with the hard_timeout -> soft_timeout change.
 
> IIRC, "END" blocks are called by mod_Perl, rather than Perl itself,
> since Perl normally calls them only when the interpreter is about to
> shut down. END blocks still get called in this situation, so if you run
> foo.pl and manage to hit stop before it's printed its output...

right, because mod_perl runs Apache::Registry END blocks in a cleanup.
 
> More disturbingly, there seem to be very occasional cases where the
> cleanup stuff doesn't do what's expected of it, so I suggest you keep an
> eye on what's happening. Our current workaround - not a good one - is to
> kill $$ when objects don't get cleaned up correctly.

hmm, the hard_timeout() may have left Perl in a confused state.  if you're
still seeing this behavior with the soft_timeout() change, i'd appreciate
any details you have on this.

Reply via email to