OK, I can make the question less vague now.
By chance, another recent question set me thinking about my use of open3().
So I toyed with the code a bit, and found something that makes a difference.
The original code is
... setpgrp(0,0); sub killgroup { # Make sure all child processes are killed too. my $sig = shift; local $SIG{$sig} = 'IGNORE'; # don't kill ourselves again $Interrupted = 1; kill($sig, -$$); }; local $SIG{INT} = \&killgroup; local $SIG{QUIT} = \&killgroup; local $SIG{ABRT} = \&killgroup; local $SIG{TERM} = \&killgroup; local *CATCHERR = IO::File->new_tmpfile; my $pid = open3(gensym, \*CATCHOUT, ">&CATCHERR", "$cmd $args"); ...
If I comment out the four lines beginning local $SIG, then it works just like it used to.
Has something changed in Perl since 5.10.1 that would affect this?
In reply to Re: Vague segfault question
by ChrisDennis
in thread open3() problem
by ChrisDennis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |