summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-shells/bash/files/bash-3.0-jobs.patch')
-rw-r--r--app-shells/bash/files/bash-3.0-jobs.patch56
1 files changed, 0 insertions, 56 deletions
diff --git a/app-shells/bash/files/bash-3.0-jobs.patch b/app-shells/bash/files/bash-3.0-jobs.patch
deleted file mode 100644
index 72c149c71cf5..000000000000
--- a/app-shells/bash/files/bash-3.0-jobs.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Ripped from Fedora
-
-* Wed Sep 8 2004 Tim Waugh <twaugh@redhat.com> 3.0-13
-- Check for EINVAL from waitpid() and avoid WCONTINUED in that case.
-- Fixed jobs4 test.
-
-From: Tim Waugh
-Subject: [patch] bash-3.0: avoid WCONTINUED if invalid
-Date: Wed, 8 Sep 2004 16:52:38 +0100
-User-agent: Mutt/1.4.1i
-
-Hi,
-
-GNU libc defines WCONTINUED, but (at least on Linux 2.4.x kernels)
-waitpid() returns -1 with errno set to EINVAL if WCONTINUED is
-supplied in options.
-
-Here is a patch to retry without WCONTINUED set in that case.
-
-Tim.
-
---- bash-3.0/tests/jobs4.sub
-+++ bash-3.0/tests/jobs4.sub
-@@ -18,5 +18,5 @@
-
- wait
-
--cat &
-+sleep 100 &
- kill -1 %% && echo i killed it || echo could not kill it
---- bash-3.0/jobs.c
-+++ bash-3.0/jobs.c
-@@ -2475,6 +2475,7 @@
- PROCESS *child;
- pid_t pid;
- int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
-+ static int wcontinued_not_supported = 0;
-
- call_set_current = children_exited = 0;
- last_stopped_job = NO_JOB;
-@@ -2488,7 +2489,15 @@
- : 0;
- if (sigchld || block == 0)
- waitpid_flags |= WNOHANG;
-+ retry:
-+ if (wcontinued_not_supported)
-+ waitpid_flags &= ~WCONTINUED;
- pid = WAITPID (-1, &status, waitpid_flags);
-+ if (pid == -1 && errno == EINVAL)
-+ {
-+ wcontinued_not_supported = 1;
-+ goto retry;
-+ }
-
- /* The check for WNOHANG is to make sure we decrement sigchld only
- if it was non-zero before we called waitpid. */