From: Jarkko Hietaniemi Date: Tue, 29 Jan 2002 14:23:03 +0000 (+0000) Subject: OS/390 seems to do length 0 udp reads, Nicholas says X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=10b9e8260c4c1410f5b8643f1a9b997c04b2e461;p=p5sagit%2Fp5-mst-13.2.git OS/390 seems to do length 0 udp reads, Nicholas says skippage is for now the best cause of action. p4raw-id: //depot/perl@14487 --- diff --git a/ext/Socket/socketpair.t b/ext/Socket/socketpair.t index d14ccb4..e30dd3f 100644 --- a/ext/Socket/socketpair.t +++ b/ext/Socket/socketpair.t @@ -184,10 +184,13 @@ foreach $expect (@left) { } ok (shutdown(LEFT, 1), "shutdown left for writing"); + # eof uses buffering. eof is indicated by a sysread of zero. # but for a datagram socket there's no way it can know nothing will ever be # sent -{ +SKIP: { + skip "$^O does length 0 udp reads", 2 if ($^O eq 'os390'); + my $alarmed = 0; local $SIG{ALRM} = sub { $alarmed = 1; }; print "# Approximate forever as 3 seconds. Wait 'forever'...\n"; @@ -197,6 +200,7 @@ ok (shutdown(LEFT, 1), "shutdown left for writing"); "read on right should be interrupted"); is ($alarmed, 1, "alarm should have fired"); } + alarm 30; #ok (eof RIGHT, "right is at EOF");