[Toybox] [PATCH] sed: fix endless loop in "b loop" test.

Rob Landley rob at landley.net
Wed Feb 13 10:04:45 PST 2019


On 2/13/19 10:27 AM, enh wrote:
> so...
> 
> /tmp$ cat x.c
> #include <signal.h>
> #include <stdio.h>
> 
> int main() {
>  printf("SIG_DFL=%p SIG_IGN=%p\n", SIG_DFL, SIG_IGN);
>  printf("%p\n", signal(SIGPIPE, SIG_DFL));
>  printf("%p\n", signal(SIGPIPE, SIG_DFL));
>  return 0;
> }
> 
> 
> on my badly-behaving (work) machines with 4.19.12 kernels and bash 4.4.12:
> 
> /tmp$ ./x
> SIG_DFL=(nil) SIG_IGN=0x1
> 0x1
> (nil)
> /tmp$
> 
> whereas on my personal machine with 4.15.0 and bash 4.4.19 i get the expected:
> 
> /tmp$ ./x
> SIG_DFL=(nil) SIG_IGN=0x1
> (nil)
> (nil)
> /tmp$
> 
> so that version of bash is screwing up the default disposition of
> SIGPIPE for its children?
> 
> (it's the only version of bash i've ever used that corrupts its own
> history file, so i'm prepared to believe it's officially the worst
> bash release ever...)

I just lost an hour to https://twitter.com/landley/status/1095740266819055616
(happened twice, then worked the third time), so I'm entirely prepared to
believe there will eventually be worse versions of bash as long as the FSF is
involved in any way.

*shrug* We've got a workaround in the code now...

Rob



More information about the Toybox mailing list