Mercurial > hg > aboriginal
view sources/patches/bash-fixread.patch @ 1703:828d2e318e26 draft
David Halls pointed out we're not actually enabling Thread Local Storage support in the uClibc baseconfig, so do that.
author | Rob Landley <rob@landley.net> |
---|---|
date | Mon, 27 Oct 2014 22:00:11 -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); }