--- vt102/vt102 2014/12/03 02:40:34 1.19 +++ vt102/vt102 2014/12/03 08:17:16 1.20 @@ -767,7 +767,10 @@ if (select $rin, undef, undef, 0) { sysread $PTY, my $buf, 256; - push @PUSARTRECV, unpack "C*", $buf; + + # linux don't do cs7 and/or parity anymore, so we need to filter + # out xoff characters to avoid freezes. + push @PUSARTRECV, grep { ($_ & 0x7f) != 0x13 } unpack "C*", $buf; } }