remove any leading ::ffff: on ipv4 addresses
[spider.git] / perl / AsyncMsg.pm
index 95c5e8f67c974d8eace5f0e5ba9b7fbf69ef42f1..cb1c2f2bdc64a228f6b5c76bd6d3fcc8c047b800 100644 (file)
@@ -203,9 +203,11 @@ sub raw
        my %args = @_;
 
        my $handler = delete $args{handler} || \&handle_raw;
+       
        my $conn = $pkg->new($call, $handler);
        $conn->{prefix} = delete $args{prefix} if exists $args{prefix};
        $conn->{prefix} ||= '';
+       $conn->{on_disconnect} = delete $args{on_disc} || delete $args{on_disconnect};
        $r = $conn->connect($host, $port, on_connect => &_on_raw_connect);
        return $r ? $conn : undef;
 }
@@ -267,6 +269,7 @@ sub disconnect
                if ($dxchan) {
                        no strict 'refs';
                        $ondisc->($conn, $dxchan);
+                       delete $conn->{on_disconnect};
                }
        }
        delete $conn->{mojo};