[glibc] 01/01: hurd-i386/tg-eintr.diff: Fix "Interrupted" issues in ghc
This is an automated email from the git hooks/post-receive script.
sthibault pushed a commit to branch sid
in repository glibc.
commit 7275384d9da47170acadcf33c5dc8fa94b83d1e5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jun 9 01:20:23 2016 +0200
hurd-i386/tg-eintr.diff: Fix "Interrupted" issues in ghc
---
debian/changelog | 3 +++
debian/patches/hurd-i386/tg-eintr.diff | 31 +++++++++++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 35 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index e4f3a0b..c17aff5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,9 @@ glibc (2.22-12) UNRELEASED; urgency=medium
[ Aurelien Jarno ]
* debian/sysdeps/kfreebsd-i386.mk: fix libc0.1-i686 package name.
+ [ Samuel Thibault ]
+ * hurd-i386/tg-eintr.diff: New patch to fix "Interrupted" issues in ghc.
+
-- Aurelien Jarno <aurel32@debian.org> Sun, 05 Jun 2016 00:41:17 +0200
glibc (2.22-11) unstable; urgency=medium
diff --git a/debian/patches/hurd-i386/tg-eintr.diff b/debian/patches/hurd-i386/tg-eintr.diff
new file mode 100644
index 0000000..e9aea13
--- /dev/null
+++ b/debian/patches/hurd-i386/tg-eintr.diff
@@ -0,0 +1,31 @@
+commit 230b85f414291ac955827aba15cfbd103ab6ebdd
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Thu Jun 9 01:15:10 2016 +0200
+
+ Fix pipe() call returning EINTR sometimes
+
+ because it uses a critical section
+
+diff --git a/hurd/hurdsock.c b/hurd/hurdsock.c
+index 0f52f37..261f654 100644
+--- a/hurd/hurdsock.c
++++ b/hurd/hurdsock.c
+@@ -52,6 +52,7 @@ _hurd_socket_server (int domain, int dead)
+ return MACH_PORT_NULL;
+ }
+
++retry:
+ HURD_CRITICAL_BEGIN;
+ __mutex_lock (&lock);
+
+@@ -102,6 +103,10 @@ _hurd_socket_server (int domain, int dead)
+ __mutex_unlock (&lock);
+ HURD_CRITICAL_END;
+
++ if (!server && errno == EINTR)
++ /* Got a signal while inside an RPC of the critical section, retry again */
++ goto retry;
++
+ return server;
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index a227a88..c76a00e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -160,6 +160,7 @@ hurd-i386/cvs-IPV6_PKTINFO.diff
hurd-i386/cvs-i686-link.diff
hurd-i386/cvs-check-local-headers.diff
hurd-i386/tg-faccessat.diff
+hurd-i386/tg-eintr.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: