App-RemoteCommand
view release on metacpan or search on metacpan
lib/App/RemoteCommand.pm view on Meta::CPAN
$self->{select}->remove(fh => $fh);
close $fh;
}
}
sub _post_process {
my ($self, $ready) = @_;
my ($fh, $pid, $host, $buffer) = @{$ready}{qw(fh pid host buffer)};
if ($fh) {
# XXX: We use select() here; otherwise it happens that
# <$fh> is blocked under ssh proxy
my $select = IO::Select->new($fh);
while ($select->can_read(TICK_SECOND)) {
my $len = sysread $fh, my $buf, 64*1024;
DEBUG and logger " POST READ %s, pid %d, len %s", $host, $pid, defined $len ? $len : 'undef';
if (defined $len && $len > 0) {
$buffer->add($buf);
} else {
last;
}
}
( run in 0.450 second using v1.01-cache-2.11-cpan-49f99fa48dc )