annotate sources/patches/bash-fixread.patch @ 1839:c8293b3ab81f draft default tip

Teach chroot-splice to accept one or two arguments. (Control image now optional.)
author Rob Landley <rob@landley.net>
date Sun, 17 Jan 2016 21:18:52 -0600
parents de8e06350227
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1435
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
1 Using read with a timeout does a longjmp() out of a signal handler, which leaves
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
2 SIGARLM blocked. This is inherited by children, and thus not something you
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
3 want to do from PID 1.
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
4
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
5 diff -ru bash/builtins/read.def bash.bak/builtins/read.def
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
6 --- bash/builtins/read.def 2002-03-19 13:33:41.000000000 -0600
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
7 +++ bash.bak/builtins/read.def 2011-09-07 23:11:56.853885092 -0500
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
8 @@ -101,6 +101,11 @@
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
9 sigalrm (s)
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
10 int s;
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
11 {
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
12 + sigset_t walrus;
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
13 +
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
14 + sigemptyset(&walrus);
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
15 + sigaddset(&walrus, SIGALRM);
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
16 + sigprocmask(SIG_UNBLOCK, &walrus, 0);
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
17 longjmp (alrmbuf, 1);
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
18 }
de8e06350227 Fix the lfs-bootstrap m4 hang.
Rob Landley <rob@landley.net>
parents:
diff changeset
19