add logging of PC92A ip addresses
[spider.git] / perl / Msg.pm
index d4bfba36e5543a116fb095de2cb2af1c7cb879ca..531bff7336fb969f19cf581f9d7b5f41f24c4a7d 100644 (file)
@@ -82,10 +82,10 @@ BEGIN {
        if ($^O eq 'MSWin32') { 
                eval '*EINPROGRESS = sub { 10036 };' unless defined *EINPROGRESS;
                eval '*EWOULDBLOCK = *EAGAIN = sub { 10035 };' unless defined *EWOULDBLOCK;
-               eval '*F_GETFL     = sub {     0 };';
-               eval '*F_SETFL     = sub {     0 };';
-               eval '*IPPROTO_TCP     = sub {     6 };';
-               eval '*TCP_NODELAY     = sub {     1 };';
+               eval '*F_GETFL     = sub {     0 };' unless defined *F_GETFL;
+               eval '*F_SETFL     = sub {     0 };' unless defined *F_SETFL;
+               eval 'sub IPPROTO_TCP  {     6 };';
+               eval 'sub TCP_NODELAY  {     1 };';
                $blocking_supported = 0;   # it appears that this DOESN'T work :-(
        } 
 }
@@ -193,6 +193,16 @@ sub pid_gone
        }
 }
 
+sub peerhost
+{
+       my $self = shift;
+       my $ip;
+       unless ($self->{peerhost}) {
+               $self->{peerhost} = $self->{sock}->peerhost;
+       }
+       return $self->{peerhost};
+}
+
 #-----------------------------------------------------------------
 # Send side routines
 sub connect {
@@ -225,7 +235,8 @@ sub connect {
        return undef unless $r || _err_will_block($!);
        
        $conn->{sock} = $sock;
-    
+       $conn->{peerhost} = $sock->peerhost;    # for consistency
+
     if ($conn->{rproc}) {
         my $callback = sub {$conn->_rcv};
         set_event_handler ($sock, read => $callback);