ControlFreak

 view release on metacpan or  search on metacpan

lib/ControlFreak/Proxy/Process.pm  view on Meta::CPAN


sub init {
    my $proxy = shift;

    #set_nonblocking($proxy->{$_}) for (qw/command_fh status_fh log_fh/);

    ## where we buffer the writes until our wout fh are ready
    $proxy->{log_buffer}    = [];
    $proxy->{status_buffer} = [];

    ## callbacks
    $proxy->{readers}{ $proxy->{command_fh} } = sub { $proxy->command_cb(@_) };
    $proxy->{writers}{ $proxy->{log_fh}     } = $proxy->{log_buffer}
        if $proxy->{log_fh};
    $proxy->{writers}{ $proxy->{status_fh}  } = $proxy->{status_buffer};

    my $fh = $proxy->{command_fh};
    $proxy->{read_select} = IO::Select->new;
    $proxy->{write_select} = IO::Select->new;
    $proxy->{read_select}->add($proxy->{command_fh});
    $proxy->{write_select}->add($proxy->{log_fh})



( run in 0.413 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )