# New Ticket Created by Simon Ruderich # Please include the string: [perl #127566] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=127566 >
Hello,
I'm having a weird problem with run. In the following sample,
Perl6 waits after "slurping err" when the ssh mux process gets
spawned in the background on the initial connection. It waits
until the ssh mux process terminates on its own and then prints
the output (stdout/stderr) correctly. If the ssh mux process is
already running, everthing works fine.
my @cmd = «
ssh
-o Protocol=2
-o ControlMaster=auto
-o ControlPath=master-%l-%h-%r
-o ControlPersist=30
»;
@cmd.append('root@steep', 'ls');
my $p = run @cmd, :!in, :out, :err;
say "slurping out";
my $out = $p.out.slurp-rest;
say "slurping err";
my $err = $p.err.slurp-rest;
$p.out.close;
$p.err.close;
say "STDOUT: {$out}";
say "STDERR: {$err}";
Removing either or both close doesn't help, however if I don't
use :err (and thus don't read from $err), everything works fine
as well.
Regards
Simon
--
+ privacy is necessary
+ using gnupg http://gnupg.org
+ public key id: 0x92FEFDB7E44C32F9
signature.asc
Description: PGP signature
