… | |
… | |
765 | unless ((@PUSARTRECV >= 128) || @KQUEUE || !$PTY) { |
765 | unless ((@PUSARTRECV >= 128) || @KQUEUE || !$PTY) { |
766 | my $rin = ""; (vec $rin, fileno $PTY, 1) = 1; |
766 | my $rin = ""; (vec $rin, fileno $PTY, 1) = 1; |
767 | |
767 | |
768 | if (select $rin, undef, undef, 0) { |
768 | if (select $rin, undef, undef, 0) { |
769 | sysread $PTY, my $buf, 256; |
769 | sysread $PTY, my $buf, 256; |
|
|
770 | |
|
|
771 | # linux don't do cs7 and/or parity anymore, so we need to filter |
|
|
772 | # out xoff characters to avoid freezes. |
770 | push @PUSARTRECV, unpack "C*", $buf; |
773 | push @PUSARTRECV, grep { ($_ & 0x7f) != 0x13 } unpack "C*", $buf; |
771 | } |
774 | } |
772 | } |
775 | } |
773 | |
776 | |
774 | # keyboard input |
777 | # keyboard input |
775 | if ($KBD) { |
778 | if ($KBD) { |