Updated to fedora-glibc-20080703T1203
[kopensolaris-gnu/glibc.git] / hurd / hurd / fd.h
index 08d4407..d1aa867 100644 (file)
@@ -27,6 +27,7 @@
 
 #include <hurd/hurd_types.h>
 #include <hurd/port.h>
+#include <sys/socket.h>
 
 
 /* Structure representing a file descriptor.  */
@@ -179,6 +180,18 @@ __hurd_dfail (int fd, error_t err)
   errno = _hurd_fd_error (fd, err);
   return -1;
 }
+
+/* Likewise, but do not raise SIGPIPE on EPIPE if flags contain
+   MSG_NOSIGNAL.  */
+
+_HURD_FD_H_EXTERN_INLINE int
+__hurd_sockfail (int fd, int flags, error_t err)
+{
+  if (!(flags & MSG_NOSIGNAL) || err != EPIPE)
+    err = _hurd_fd_error (fd, err);
+  errno = err;
+  return -1;
+}
 \f
 /* Set up *FD to have PORT its server port, doing appropriate ctty magic.
    Does no locking or unlocking.  */