Re: [PATCH 2/3] test-terminal: set output terminals to raw mode
- From
Thomas Rast <trast@student.ethz.ch>
- Date
- Dec 12, 2011, 19:01 UTC
- Message-ID
- <201112122001.36303.trast@student.ethz.ch>
- In-Reply-To
- <20111212182318.GE31793@elie.hsd1.il.comcast.net>
Jonathan Nieder wrote:
Show 14 quoted lines
> Thomas Rast wrote: > > > Not setting them to raw mode causes funny things to happen, such as > > \n -> \r\n translation: > [...] > > To avoid this, set the (pseudo)terminal to raw mode. Note that the > > IO::Pty docs recommend doing it on both master and slave. > > Good idea, so for what it's worth, > Acked-by: Jonathan Nieder <jrnieder@gmail.com> > > Does this change the behavior in > <https://rt.cpan.org/Ticket/Display.html?id=65692> (oh please oh > please)?
I don't think so. I tested this tweak of the script:
perl -MIO::Pty -MFile::Copy -e '
for (my $i = 0;; $i++) {
my $master = new IO::Pty;
my $slave = $master->slave;
$master->set_raw();
$slave->set_raw();
if (fork == 0) {
close $master or die "close: $!";
open STDOUT, ">&", $slave or die "dup2: $!";
close $slave or die "close: $!";
exec("echo", "hi", $i) or die "exec: $!";
}
close $slave or die "close: $!";
copy($master, \*STDOUT) or die "copy: $!";
close $master or die "close: $!"; wait;
}
'That's over ssh on
$ uname -a Darwin mackeller.inf.ethz.ch 11.1.0 Darwin Kernel Version 11.1.0: Tue Jul 26 16:07:11 PDT 2011; root:xnu-1699.22.81~1/RELEASE_X86_64 x86_64
What's odd is that when I was logged in at university (over Gbit ethernet, but still over ssh), the unmodified version wouldn't even get off the ground. I may just have been dreaming however.
--
Thomas Rast
trast@{inf,student}.ethz.ch