[glibc] 01/01: hurd: make send/recv more posix
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch sid
in repository glibc.
commit 2e39bbfa5ba94bc394e4fc8ca7a96d4dd7ae1942
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Mon Mar 13 20:43:01 2017 +0100
hurd: make send/recv more posix
---
debian/changelog | 2 +
debian/patches/hurd-i386/cvs-send-recv-posix.diff | 64 +++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 67 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 2dbd3b6..d51bf03 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ glibc (2.24-10) UNRELEASED; urgency=medium
[ Samuel Thibault ]
* hurd-i386/cvs-truncate64.diff: New patch to support 64bit truncate.
+ * hurd-i386/cvs-send-recv-posix.diff: New patch to make send/recv more
+ posix.
-- Aurelien Jarno <aurel32@debian.org> Mon, 16 Jan 2017 18:46:54 +0100
diff --git a/debian/patches/hurd-i386/cvs-send-recv-posix.diff b/debian/patches/hurd-i386/cvs-send-recv-posix.diff
new file mode 100644
index 0000000..f1ff257
--- /dev/null
+++ b/debian/patches/hurd-i386/cvs-send-recv-posix.diff
@@ -0,0 +1,64 @@
+commit 9d067269f5c3ecc5913e7e424a4778608d784731
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Mon Mar 13 20:41:12 2017 +0100
+
+ hurd: Make send/recv more posixish
+
+ Thanks David Michael for the suggestion.
+
+ * sysdeps/mach/hurd/send.c (__send): Convert hurdish error code into
+ posix error code.
+ * sysdeps/mach/hurd/recv.c (__recv): Likewise.
+
+diff --git a/ChangeLog b/ChangeLog
+index c3b9de6ca5..6ca8d7e41d 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,9 @@
++2017-03-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
++
++ * sysdeps/mach/hurd/send.c (__send): Convert hurdish error code into
++ posix error code.
++ * sysdeps/mach/hurd/recv.c (__recv): Likewise.
++
+ 2017-03-13 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+
+ * scripts/build-many-glibcs.py (Context.add_all_configs): Remove
+diff --git a/sysdeps/mach/hurd/recv.c b/sysdeps/mach/hurd/recv.c
+index 78a67d0cd8..133f49dfaa 100644
+--- a/sysdeps/mach/hurd/recv.c
++++ b/sysdeps/mach/hurd/recv.c
+@@ -37,12 +37,16 @@ __recv (int fd, void *buf, size_t n, int flags)
+ char *cdata = NULL;
+ mach_msg_type_number_t clen = 0;
+
+- if (err = HURD_DPORT_USE (fd, __socket_recv (port, &addrport,
++ err = HURD_DPORT_USE (fd, __socket_recv (port, &addrport,
+ flags, &bufp, &nread,
+ &ports, &nports,
+ &cdata, &clen,
+ &flags,
+- n)))
++ n));
++ if (err == MIG_BAD_ID || err == EOPNOTSUPP)
++ /* The file did not grok the socket protocol. */
++ err = ENOTSOCK;
++ if (err)
+ return __hurd_sockfail (fd, flags, err);
+
+ __mach_port_deallocate (__mach_task_self (), addrport);
+diff --git a/sysdeps/mach/hurd/send.c b/sysdeps/mach/hurd/send.c
+index 8eb97e99ee..98ffcbf562 100644
+--- a/sysdeps/mach/hurd/send.c
++++ b/sysdeps/mach/hurd/send.c
+@@ -33,6 +33,10 @@ __send (int fd, const void *buf, size_t n, int flags)
+ NULL, MACH_MSG_TYPE_COPY_SEND, 0,
+ NULL, 0, &wrote));
+
++ if (err == MIG_BAD_ID || err == EOPNOTSUPP)
++ /* The file did not grok the socket protocol. */
++ err = ENOTSOCK;
++
+ return err ? __hurd_sockfail (fd, flags, err) : wrote;
+ }
+ libc_hidden_def (__send)
diff --git a/debian/patches/series b/debian/patches/series
index aff6f7e..8b052a4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -142,6 +142,7 @@ hurd-i386/cvs-hurd_signal.h_c++.diff
hurd-i386/tg-magic-pid.diff
hurd-i386/tg-mlockall.diff
hurd-i386/cvs-truncate64.diff
+hurd-i386/cvs-send-recv-posix.diff
i386/local-biarch.diff
i386/local-cmov.diff
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-glibc/glibc.git
Reply to: