sub signal { my IPC::Run $self = shift ; local $cur_self = $self ; $self->_kill_kill_kill_pussycat_kill unless @_ ; Carp::cluck "Ignoring extra parameters passed to kill()" if @_ > 1 ; my ( $signal ) = @_ ; my $rv; croak "Undefined signal passed to signal" unless defined $signal ; for ( grep $_->{PID} && ! defined $_->{RESULT}, @{$self->{KIDS}} ) { _debug "sending $signal to $_->{PID}" if _debugging; $rv = kill $signal, $_->{PID} or _debugging && _debug "$! sending $signal to $_->{PID}" ; } return $rv; } #### pump $h while $h->signal( 0 ) and $out !~ /BRU Server >/i;