Mercurial > hg > aboriginal
view 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 |
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); }