projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
yet more compatibilty fixes
[spider.git]
/
perl
/
Msg.pm
diff --git
a/perl/Msg.pm
b/perl/Msg.pm
index 57880ed112f825f9d445a4bdf7397375f4ac0835..fdcc9fa00c5eef4472bec4f64ad74ac331c7ff12 100644
(file)
--- a/
perl/Msg.pm
+++ b/
perl/Msg.pm
@@
-119,23
+119,21
@@
sub blocking
return unless $blocking_supported;
# Make the handle stop blocking, the Windows way.
return unless $blocking_supported;
# Make the handle stop blocking, the Windows way.
- if ($^O eq 'MSWin32') {
- my $set_it = $_[1];
-
+ if ($main::iswin) {
# 126 is FIONBIO (some docs say 0x7F << 16)
ioctl( $_[0],
0x80000000 | (4 << 16) | (ord('f') << 8) | 126,
# 126 is FIONBIO (some docs say 0x7F << 16)
ioctl( $_[0],
0x80000000 | (4 << 16) | (ord('f') << 8) | 126,
- $set_it
- ) or confess "Can't set the handle non-blocking: $!";
- }
-
- my $flags = fcntl ($_[0], F_GETFL, 0);
- if ($_[1]) {
- $flags &= ~O_NONBLOCK;
+ "$_[1]"
+ );
} else {
} else {
- $flags |= O_NONBLOCK;
+ my $flags = fcntl ($_[0], F_GETFL, 0);
+ if ($_[1]) {
+ $flags &= ~O_NONBLOCK;
+ } else {
+ $flags |= O_NONBLOCK;
+ }
+ fcntl ($_[0], F_SETFL, $flags);
}
}
- fcntl ($_[0], F_SETFL, $flags);
}
# save it
}
# save it
@@
-375,8
+373,11
@@
sub new_server {
return $self;
}
return $self;
}
+my $oldw = $^W;
+$^W = 0;
eval "use Socket qw(IPPROTO_TCP TCP_NODELAY)";
eval "use Socket qw(IPPROTO_TCP TCP_NODELAY)";
-if ($@) {
+$^W = $oldw;
+if ($@ && !$main::inwin) {
sub IPPROTO_TCP {6;}
sub TCP_NODELAY {1;};
}
sub IPPROTO_TCP {6;}
sub TCP_NODELAY {1;};
}