diff --git a/package/base/bash/avoid_WCONTINUED-1.patch b/package/base/bash/avoid_WCONTINUED-1.patch new file mode 100644 index 000000000..bfab16f95 --- /dev/null +++ b/package/base/bash/avoid_WCONTINUED-1.patch @@ -0,0 +1,41 @@ +Patch copied from: http://www.linuxfromscratch.org/lfs/view/development/chapter03/patches.html + -stf + +Submitted By: Jeremy Utley +Date: 2004-10-13 +Initial Package Version: 3.0 +Upstream Status: Submitted Upstream +Origin: Originally created by Greg Schafer +Description: Bash-3.0 has a execution problem with newer Glibc's. This patch, +submitted to bash-bugs by Tim Waugh, fixes the problem. See: +http://lists.gnu.org/archive/html/bug-bash/2004-09/msg00081.html +Patch also contains a slight code change taken from Fedora SRPM. + + +diff -Naur bash-3.0.orig/jobs.c bash-3.0/jobs.c +--- bash-3.0.orig/jobs.c 2004-10-12 08:50:11.643481280 +0000 ++++ bash-3.0/jobs.c 2004-10-12 08:51:35.110792320 +0000 +@@ -2476,6 +2476,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; +@@ -2489,7 +2490,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. */