diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-12-29 15:05:08 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-12-29 15:05:08 +0000 |
commit | 2948e0bde4eb0485569b1f3510975019a89a444f (patch) | |
tree | 3017079ea210026ca013eb83067b3a445667e9e7 | |
parent | a98face1fc078a6f6814326da72119f5bfb89dce (diff) | |
download | perl-2948e0bde4eb0485569b1f3510975019a89a444f.tar.gz |
socketpair tweaks from Nicholas Clark.
p4raw-id: //depot/perl@13921
-rw-r--r-- | ext/Socket/socketpair.t | 4 | ||||
-rw-r--r-- | util.c | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/ext/Socket/socketpair.t b/ext/Socket/socketpair.t index c31e4df877..653e1b78c9 100644 --- a/ext/Socket/socketpair.t +++ b/ext/Socket/socketpair.t @@ -15,7 +15,7 @@ use Socket; use Test::More; use strict; use warnings; -use Errno 'EPIPE'; +use Errno qw(EPIPE ESHUTDOWN); my $skip_reason; @@ -89,7 +89,7 @@ $SIG{PIPE} = 'IGNORE'; } SKIP: { # This may need skipping on some OSes - ok ($! == EPIPE, '$! should be EPIPE') + ok (($! == EPIPE or $! == ESHUTDOWN), '$! should be EPIPE or ESHUTDOWN') or printf "\$\!=%d(%s)\n", $!, $!; } @@ -4127,7 +4127,7 @@ S_socketpair_udp (int fd[2]) { int Perl_my_socketpair (int family, int type, int protocol, int fd[2]) { /* Stevens says that family must be AF_LOCAL, protocol 0. - I'm going to enforce that, then ignore it, and use TCP. */ + I'm going to enforce that, then ignore it, and use TCP (or UDP). */ int listener = -1; int connector = -1; int acceptor = -1; @@ -4143,8 +4143,10 @@ Perl_my_socketpair (int family, int type, int protocol, int fd[2]) { errno = EAFNOSUPPORT; return -1; } - if (!fd) - return EINVAL; + if (!fd) { + errno = EINVAL; + return -1; + } if (type == SOCK_DGRAM) return S_socketpair_udp (fd); |