Browse Source

Stefan Fiedler:


			
			
				rocklinux
			
			
		
Stefan Fiedler 19 years ago
parent
commit
50fd3baf3a
1 changed files with 41 additions and 0 deletions
  1. +41
    -0
      package/base/bash/avoid_WCONTINUED-1.patch

+ 41
- 0
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 <jeremy@linuxfromscratch.org>
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. */

Loading…
Cancel
Save