Package: fakeroot Tags: patch User: debian-hurd@lists.debian.org Usertags: hurd X-Debbugs-CC: debian-hurd@lists.debian.org thanks Debian GNU/Hurd folks: why do I have to specify Hurd User/Usertags/X-Debbugs-CC, all three? Can't this be made simpler? (This is from <http://www.gnu.org/software/hurd/hurd/running/debian/patch_submission.html>.) Hi! On Sun, 11 Sep 2011 11:55:21 +0200, I wrote: > Debian fakeroot 1.15.1-1 (fakeroot-tcp) has problems with EINTR or > something? > > [...] > ./scripts/mkinstalldirs /media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include > libfakeroot: connect: Interrupted system call > /usr/bin/install -c -m 644 include/limits.h /media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include/limits.h > /usr/bin/install: cannot create regular file `/media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include/limits.h': No such file or directory > make[2]: *** [/media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/debian/tmp-libc/usr/include/limits.h] Error 1 > [...] Yes, it has. Manually tested, ``git am''-able patch is attached. I didn't check whether there are further such cases. I built with ``DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage -uc -b -d''. ``-d'' due to libacl1-dev not being available. Grüße, Thomas
From bb3cfb6ddf7831d36df22697caae4589f53bcc70 Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@schwinge.name>
Date: Sun, 11 Sep 2011 14:24:31 +0200
Subject: [PATCH] It is permissible for connect to fail with EINTR.
---
communicate.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/communicate.c b/communicate.c
index 2db0a9d..02b258a 100644
--- a/communicate.c
+++ b/communicate.c
@@ -476,8 +476,13 @@ static void open_comm_sd(void)
if (fcntl(comm_sd, F_SETFD, FD_CLOEXEC) < 0)
fail("fcntl(F_SETFD, FD_CLOEXEC)");
- if (connect(comm_sd, get_addr(), sizeof (struct sockaddr_in)) < 0)
- fail("connect");
+ while (1) {
+ if (connect(comm_sd, get_addr(), sizeof (struct sockaddr_in)) < 0) {
+ if (errno != EINTR)
+ fail("connect");
+ } else
+ break;
+ }
}
void lock_comm_sd(void)
--
1.7.5.4
Attachment:
pgpjod7NEV9tG.pgp
Description: PGP signature