From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- app-shells/bash/files/bash-4.2-read-retry.patch | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 app-shells/bash/files/bash-4.2-read-retry.patch (limited to 'app-shells/bash/files/bash-4.2-read-retry.patch') diff --git a/app-shells/bash/files/bash-4.2-read-retry.patch b/app-shells/bash/files/bash-4.2-read-retry.patch new file mode 100644 index 000000000000..44903c68afe1 --- /dev/null +++ b/app-shells/bash/files/bash-4.2-read-retry.patch @@ -0,0 +1,41 @@ +https://bugs.gentoo.org/447810 + +fix from upstream to workaround broken BSD kernels + +commit 208fdb509e072977ae7a621e916dfcd32c76047d +Author: Chet Ramey +Date: Mon Mar 4 08:09:29 2013 -0500 + + commit bash-20130201 snapshot + +diff --git a/redir.c b/redir.c +index d7da2f3..aa3d16d 100644 +--- a/redir.c ++++ b/redir.c +@@ -650,7 +650,7 @@ redir_open (filename, flags, mode, ri) + int flags, mode; + enum r_instruction ri; + { +- int fd, r; ++ int fd, r, e; + + r = find_string_in_alist (filename, _redir_special_filenames, 1); + if (r >= 0) +@@ -666,7 +666,16 @@ redir_open (filename, flags, mode, ri) + } + else + { +- fd = open (filename, flags, mode); ++ do ++ { ++ fd = open (filename, flags, mode); ++ e = errno; ++ if (fd < 0 && e == EINTR) ++ QUIT; ++ errno = e; ++ } ++ while (fd < 0 && errno == EINTR); ++ + #if defined (AFS) + if ((fd < 0) && (errno == EACCES)) + { -- cgit v1.2.3