-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 1/18/13 1:30 AM, Mike Frysinger wrote: > this is somewhat a continuation of this thread: > http://lists.gnu.org/archive/html/bug-bash/2008-10/msg00091.html > > i've gotten more or less the same report in Gentoo: > http://bugs.gentoo.org/447810 > > the simple test case is: > $ cat test.sh > #!/bin/bash > while :; do > (:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)& > while read x ; do : ; done < <(echo foo) > done > > execute `./test.sh` and we see failures pretty much all the time. > > a simple patch to workaround/fix the issue by Yuta SATOH: > --- bash-4.2/redir.c > +++ bash-4.2/redir.c > @@ -632,7 +632,9 @@ > } > else > { > - fd = open (filename, flags, mode); > + do { > + fd = open (filename, flags, mode); > + } while ((fd < 0) && (errno == EINTR)); > #if defined (AFS) > if ((fd < 0) && (errno == EACCES)) > { > > but we're not sure if this is the route to take ? seems like if bash is > handling SIGCHLD, there's no avoiding this sort of check.
Why is open returning -1/EINTR when the SIGCHLD handler is installed with SA_RESTART? The intent is that opens get restarted even when bash handles SIGCHLD. Chet - -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlD5RiQACgkQu1hp8GTqdKsDAQCfSmYJQ496xiEx9YkoZFSQbuuP eFoAmwTtlaTlHHSyqTakj9KjgOmGdgMP =auX8 -----END PGP SIGNATURE-----