X-Git-Url: http://scm.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMsg.pm;h=c9b58a482cb19398d9e94cc3cf471e3f69bb801d;hb=e1d5c2a325cb6b8674eab55c23f12445aae01f52;hp=d4bfba36e5543a116fb095de2cb2af1c7cb879ca;hpb=ab1e2dae047ba2c778551638a0a90201b14658b2;p=spider.git diff --git a/perl/Msg.pm b/perl/Msg.pm index d4bfba36..c9b58a48 100644 --- a/perl/Msg.pm +++ b/perl/Msg.pm @@ -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,12 @@ sub pid_gone } } +sub peerhost +{ + my $self = shift; + return $self->{peerhost}; +} + #----------------------------------------------------------------- # Send side routines sub connect { @@ -225,7 +231,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);