about summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Bushnell, BSG <thomas@gnu.org>1995-07-21 16:54:30 +0000
committerThomas Bushnell, BSG <thomas@gnu.org>1995-07-21 16:54:30 +0000
commit620ce2509a8e6b5e90be1b26cd85d37b9c37658f (patch)
tree98f22d088107977d60ba0d32e2ff6dc647c63ba7
parentac00263ea0bbc8b9a7da01278b910a1cf506eac4 (diff)
downloadglibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.tar.gz
glibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.tar.xz
glibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.zip
(__pipe): Consider MIG_BAD_ID and EOPNOTSUPP as indications that the server port has died.
-rw-r--r--sysdeps/mach/hurd/pipe.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/mach/hurd/pipe.c b/sysdeps/mach/hurd/pipe.c
index 07c802f5a0..610b4b253a 100644
--- a/sysdeps/mach/hurd/pipe.c
+++ b/sysdeps/mach/hurd/pipe.c
@@ -48,7 +48,8 @@ DEFUN(__pipe, (fds), int fds[2])
   /* Create two local domain sockets and connect them together.  */
 
   err = __socket_create (server, SOCK_STREAM, 0, &sock1);
-  if (err == MACH_SEND_INVALID_DEST || err == MIG_SERVER_DIED)
+  if (err == MACH_SEND_INVALID_DEST || err == MIG_SERVER_DIED
+      || err == MIG_BAD_ID || err == EOPNOTSUPP)
     {
       /* On the first use of the socket server during the operation,
 	 allow for the old server port dying.  */