… | |
… | |
607 | or do { |
607 | or do { |
608 | my $err = "$!"; |
608 | my $err = "$!"; |
609 | %state = (); |
609 | %state = (); |
610 | return $cb->(undef, { @pseudo, Status => 599, Reason => $err }); |
610 | return $cb->(undef, { @pseudo, Status => 599, Reason => $err }); |
611 | }; |
611 | }; |
612 | |
|
|
613 | pop; # free memory, save a tree |
|
|
614 | |
612 | |
615 | return unless delete $state{connect_guard}; |
613 | return unless delete $state{connect_guard}; |
616 | |
614 | |
617 | # get handle |
615 | # get handle |
618 | $state{handle} = new AnyEvent::Handle |
616 | $state{handle} = new AnyEvent::Handle |
… | |
… | |
722 | $redirect = 1; |
720 | $redirect = 1; |
723 | } |
721 | } |
724 | } |
722 | } |
725 | |
723 | |
726 | my $finish = sub { # ($data, $err_status, $err_reason[, $keepalive]) |
724 | my $finish = sub { # ($data, $err_status, $err_reason[, $keepalive]) |
727 | my $keepalive = pop; |
725 | my $may_keep_alive = $_[3]; |
728 | |
726 | |
729 | $state{handle}->destroy if $state{handle}; |
727 | $state{handle}->destroy if $state{handle}; |
730 | %state = (); |
728 | %state = (); |
731 | |
729 | |
732 | if (defined $_[1]) { |
730 | if (defined $_[1]) { |