in reply to Influencing control flow using a signal handler
Hello Bloehdian,
This isn’t an answer to your question, just something I noticed while looking at your code:
... my $from_parent_one; my $to_child_one; my $from_child_one; my $to_parent_one; my $from_parent_two; my $to_child_two; my $from_child_two; my $to_parent_two; my @pipe_handles = ( $from_parent_one, $to_child_one, $from_child_one, $to_parent_one, $from_parent_two, $to_child_two, $from_child_two, $to_parent_two ); ... START: while ( 1 ) { ... # To be sure possibly remaining open pipe handles # are close before creating new ones # foreach my $handle ( @pipe_handles ) { close( $handle ) if defined openhandle( $handle ); } ...
You initialise the array @pipe_handles with the contents of the variables $from_parent_one, $to_child_one, etc. Since these variables have themselves not yet been initialised, @pipe_handles contains (undef, undef, undef, undef, undef, undef, undef, undef) — and is never updated. I assume you intended to store variable references?
my @pipe_handles = \( $from_parent_one, $to_child_one, $from_child_one, $to_parent_one, $from_parent_two, $to_child_two, $from_child_two, $to_parent_two ); ... foreach my $handle ( @pipe_handles ) { close( $$handle ) if defined openhandle( $$handle ); }
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
|
|---|