--- vt102/vt102 2014/12/03 11:09:51 1.23 +++ vt102/vt102 2014/12/03 18:27:12 1.24 @@ -767,6 +767,7 @@ unless ($CLK & 0xfff) { if (select $x = $RIN, undef, undef, $POWERSAVE < 100 ? 0 : 0.2) { + # pty/serial I/O if ($PTY && (vec $x, fileno $PTY, 1) && (@PUSARTRECV < 128) && !@KQUEUE) { sysread $PTY, my $buf, 256; @@ -789,8 +790,10 @@ } $POWERSAVE = 0; # activity + } elsif (@PUSARTRECV || @KQUEUE) { + $POWERSAVE = 0; } else { - ++$POWERSAVE unless @PUSARTRECV || @KQUEUE; + ++$POWERSAVE; } }