annotate sources/patches/bash-fixread.patch @ 1763:b6e4e49cec5e draft

Teach build to do an elf compiler, no libc or root filesystem if no KARCH in target.
author Rob Landley <rob@landley.net>
date Tue, 26 May 2015 00:10:07 -0500
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