develooper Front page | perl.perl5.porters | Postings from March 2000

Re: [ID 20000326.003] Not OK: perl v5.6.0 +v5.6.0-RC3 on i386-AT386-gnu 0.2 (UNINSTALLED)

Thread Previous | Thread Next
From:
Mark Kettenis
Date:
March 29, 2000 09:18
Subject:
Re: [ID 20000326.003] Not OK: perl v5.6.0 +v5.6.0-RC3 on i386-AT386-gnu 0.2 (UNINSTALLED)
Message ID:
200003291716.TAA27845@landau.wins.uva.nl
   X-Sender: lu002317@r.pop.uunet.lu
   Date: Mon, 27 Mar 2000 11:23:40 +0200
   From: Dominic Dunlop <domo@computer.org>

   At 15:45 +0200 2000-03-26, Mark Kettenis wrote:
   >Filehandle main::STDIN opened only for input at - line 3.
   >Filehandle main::STDOUT opened only for output at - line 4.
   >Filehandle main::STDERR opened only for output at - line 5.
   >Filehandle main::STDERR opened only for output at - line 7.
   >FAILED test 257

   Your seeing failures to detect the write-only status of a duped pipe.

Ah, I see.

   >Apparently GNU stdio is bug-compatible
   >with stdio on older *BSD systems.  We'll switch to libio in the near
   >future, so we're not going to fix this problem :-).

   Although it is an "older BSD" issue, it's not a stdio isssue.
   Please see
   <http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2000-03/msg02061.html>
   and run the C test case it contains.  If it shows S_ISFIFO failing
   on (anonymous) pipe ends, the Hurd has a kernel problem that needs
   fixing.

On the Hurd, pipes are implemented in the same way as in BSD 4.4.
They're bidirectional and implemented using sockets.  S_ISFIFO() will
probably return false on the ends, since it only checks for FIFO-ness
and not for the ends being sockets (S_ISSOCK() will return true).  So
there is indeed a problem with POSIX-compliance.

However, I disagree that this is something that Perl should not work
around.  There is a long history of pipes being implemented using
sockets in BSD, and they're bidirectional since at least BSD 4.4.  So
there will be quite a few systems out there that implement pipes that
way.  We'll probably fix the Hurd to follow POSIX (and Linux) a bit
more closely, but that might not happen to other systems.

Mark



Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About