Reverse the direction of the IO::Pty used for ssh.

May address #114.
May address #164.
This commit is contained in:
Jay Freeman (saurik)
2012-04-16 04:05:47 -07:00
committed by Keith Winstein
parent bcb96d9337
commit fe8e50de2b
+4 -5
View File
@@ -192,10 +192,10 @@ if ( (not defined $colors)
my $pid = fork; my $pid = fork;
die "$0: fork: $!\n" unless ( defined $pid ); die "$0: fork: $!\n" unless ( defined $pid );
if ( $pid == 0 ) { # child if ( $pid == 0 ) { # child
$pty->close_slave();
open STDOUT, ">&", $pty or die;
open STDERR, ">&", $pty or die;
close $pty; close $pty;
open STDOUT, ">&", $pty_slave->fileno() or die;
open STDERR, ">&", $pty_slave->fileno() or die;
close $pty_slave;
my @server = ( 'new', '-s' ); my @server = ( 'new', '-s' );
@@ -218,8 +218,7 @@ if ( $pid == 0 ) { # child
die "Cannot exec ssh: $!\n"; die "Cannot exec ssh: $!\n";
} else { # server } else { # server
my ( $ip, $port, $key ); my ( $ip, $port, $key );
$pty->close_slave(); LINE: while ( <$pty_slave> ) {
LINE: while ( <$pty> ) {
chomp; chomp;
if ( m{^MOSH IP } ) { if ( m{^MOSH IP } ) {
( $ip ) = m{^MOSH IP (\S+)\s*$} or die "Bad MOSH IP string: $_\n"; ( $ip ) = m{^MOSH IP (\S+)\s*$} or die "Bad MOSH IP string: $_\n";