Revision: 76 Author: matt Date: 2006-08-11 20:42:18 +0000 (Fri, 11 Aug 2006)
Log Message: ----------- Add leak detection code (commented out for now) Modified Paths: -------------- trunk/lib/AxKit2/Connection.pm Modified: trunk/lib/AxKit2/Connection.pm =================================================================== --- trunk/lib/AxKit2/Connection.pm 2006-08-11 20:40:00 UTC (rev 75) +++ trunk/lib/AxKit2/Connection.pm 2006-08-11 20:42:18 UTC (rev 76) @@ -182,6 +182,18 @@ ); $self->write(sub { $self->http_response_sent() }); + +# use Devel::GC::Helper; +# use Data::Dumper; +# $Data::Dumper::Terse = 1; +# $Data::Dumper::Indent = 1; +# #$Data::Dumper::Deparse = 1; +# my $leaks = Devel::GC::Helper::sweep; +# foreach my $leak (@$leaks) { +# print "Leaked $leak\n"; +# print Dumper($leak); +# } +# print "Total leaks: " . scalar(@$leaks) . "\n"; } # called when we've finished writing everything to a client and we need @@ -239,6 +251,8 @@ sub _do_cleanup { my $now = time; + # AxKit2::Client->log(LOGDEBUG, "do cleanup"); + Danga::Socket->AddTimer(CLEANUP_TIME, \&_do_cleanup); my $sf = __PACKAGE__->get_sock_ref; @@ -254,13 +268,16 @@ $max_age{$ref} = $ref->max_idle_time || 0; $max_connect{$ref} = $ref->max_connect_time || 0; } + AxKit2::Client->log(LOGDEBUG, "got a Connection. Max age: $max_age{$ref}, Max Connect: $max_connect{$ref}"); if (my $t = $max_connect{$ref}) { + AxKit2::Client->log(LOGDEBUG, "connection time: $v->{create_time} < " . ($now - $t)); if ($v->{create_time} < $now - $t) { push @to_close, $v; next; } } if (my $t = $max_age{$ref}) { + AxKit2::Client->log(LOGDEBUG, "alive time: $v->{alive_time} < " . ($now - $t)); if ($v->{alive_time} < $now - $t) { push @to_close, $v; }