about summary refs log tree commit diff
path: root/sysdeps/mach/hurd
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/hurd
parent2de99474c3d4278fb874bbbc12c24c388f786c21 (diff)
downloadglibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.tar.gz
glibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.tar.xz
glibc-a057e7dcc7912b6440ee15ffb8f1f5823845773e.zip
*** empty log message *** cvs/libc-960818 cvs/libc-960817
Diffstat (limited to 'sysdeps/mach/hurd')
-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);