# 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

Attachment: signature.asc
Description: PGP signature

Reply via email to