Is there a way to increase the number of child processes that
PoCo::Generic forks off? I have done something similar with
POE::Wheel::Run and Net::SSH::Perl (see code snippet) but would like
to use PoCo::Generic instead of POE::Wheel::Run directly.

Thanks,
-David


--- Code Snippet ---
sub start_ssh {
   my ( $kernel, $heap ) = @_[ KERNEL, HEAP ];

   # Signal handlers
   $kernel->sig( CHLD => '_sigchld' );

   while ( keys %{ $heap->{ssh} } < $opt{children} ) {
       my $host = get_next_host();
       last if !defined $host;

       my $ssh_wheel = POE::Wheel::Run->new(
           Program => sub { get_data_from($host) },
           StdoutFilter => POE::Filter::Reference->new(),
           StdoutEvent  => 'ssh_result',
           StderrEvent  => 'ssh_debug',
           CloseEvent   => 'ssh_done',
       );

       $heap->{ssh}{ $ssh_wheel->ID } = $ssh_wheel;
   }
}

sub handle_ssh_done {
   my ( $kernel, $heap, $ssh_wheel_id ) = @_[ KERNEL, HEAP, ARG0 ];
   delete $heap->{ssh}{$ssh_wheel_id};
   # back to start_ssh
   $kernel->yield('next_ssh');
}

Reply via email to