aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach
diff options
context:
space:
mode:
authorThomas Bushnell, BSG <thomas@gnu.org>1996-08-16 20:42:32 +0000
committerThomas Bushnell, BSG <thomas@gnu.org>1996-08-16 20:42:32 +0000
commita057e7dcc7912b6440ee15ffb8f1f5823845773e (patch)
treeea73a65fc10172fd555c33be940966dcc4a65cf6 /sysdeps/mach
parent2de99474c3d4278fb874bbbc12c24c388f786c21 (diff)
downloadglibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.tar
glibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.tar.gz
glibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.tar.bz2
glibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.zip
*** empty log message ***cvs/libc-960818cvs/libc-960817
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/hurd/socket.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/mach/hurd/socket.c b/sysdeps/mach/hurd/socket.c
index 423e8fe8b1..a0d770ad5c 100644
--- a/sysdeps/mach/hurd/socket.c
+++ b/sysdeps/mach/hurd/socket.c
@@ -51,6 +51,13 @@ DEFUN(socket, (domain, type, protocol),
err = __socket_create (server, type, protocol, &sock);
}
+ /* These errors all mean that the server node doesn't support the
+ socket.defs protocol, which we'll take to mean that the protocol
+ isn't supported. */
+ if (err == MACH_SEND_INVALID_DEST || err == MIG_SERVER_DIED
+ || err == MIG_BAD_ID || err == EOPNOTSUPP)
+ err = EPFNOSUPPORT;
+
if (err)
return __hurd_fail (err);