aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
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 /sysdeps
parentac00263ea0bbc8b9a7da01278b910a1cf506eac4 (diff)
downloadglibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.zip
glibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.tar.gz
glibc-620ce2509a8e6b5e90be1b26cd85d37b9c37658f.tar.bz2
(__pipe): Consider MIG_BAD_ID and EOPNOTSUPP as indications that the server port has died.
Diffstat (limited to 'sysdeps')
-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 07c802f..610b4b2 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. */