aboutsummaryrefslogtreecommitdiff
path: root/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch')
-rw-r--r--package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch46
1 files changed, 0 insertions, 46 deletions
diff --git a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch b/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
deleted file mode 100644
index 4e81b49122..0000000000
--- a/package/fakeroot/0002-communicate-check-return-status-of-msgrcv.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From a853f21633693f9eefc4949660253a5328d2d2f3 Mon Sep 17 00:00:00 2001
-From: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Date: Sun, 13 Aug 2017 23:21:54 +0200
-Subject: [PATCH] communicate: check return status of msgrcv()
-
-msgrcv can return with -1 to indicate an error condition.
-One such error is to have been interrupted by a signal.
-
-Being interrupted by a signal is very rare in this code, except in a
-very special condition: a highly-parallel (1000 jobs!) mksquashfs on
-a filesystem with extended attributes, where we see errors like (those
-are mksquashfs errors):
- llistxattr for titi/603/883 failed in read_attrs, because Unknown
- error 1716527536
-
-See: https://bugs.busybox.net/show_bug.cgi?id=10141
-
-In this case, we just have to retry the call to msgrcv().
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
----
- communicate.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/communicate.c b/communicate.c
-index 293f404..787bb63 100644
---- a/communicate.c
-+++ b/communicate.c
-@@ -553,10 +553,13 @@ void send_get_fakem(struct fake_msg *buf)
- l=msgrcv(msg_get,
- (struct my_msgbuf*)buf,
- sizeof(*buf)-sizeof(buf->mtype),0,0);
-- while((buf->serial!=serial)||buf->pid!=pid);
-+ while(((l==-1)&&(errno==EINTR))||(buf->serial!=serial)||buf->pid!=pid);
-
- semaphore_down();
-
-+ if(l==-1)
-+ buf->xattr.flags_rc=errno;
-+
- /*
- (nah, may be wrong, due to allignment)
-
---
-2.11.0
-