view sources/patches/bash-fixread.patch @ 1458:60f1087591ac

Add ability to specify a package to rebuild to build.sh with REBUILD= (and then dependencies take it from there to the system image).
author Rob Landley <rob@landley.net>
date Thu, 20 Oct 2011 02:02:10 -0500
parents de8e06350227
children
line wrap: on
line source

Using read with a timeout does a longjmp() out of a signal handler, which leaves
SIGARLM blocked.  This is inherited by children, and thus not something you
want to do from PID 1.

diff -ru bash/builtins/read.def bash.bak/builtins/read.def
--- bash/builtins/read.def	2002-03-19 13:33:41.000000000 -0600
+++ bash.bak/builtins/read.def	2011-09-07 23:11:56.853885092 -0500
@@ -101,6 +101,11 @@
 sigalrm (s)
      int s;
 {
+  sigset_t walrus;
+
+  sigemptyset(&walrus);
+  sigaddset(&walrus, SIGALRM);
+  sigprocmask(SIG_UNBLOCK, &walrus, 0);
   longjmp (alrmbuf, 1);
 }