main: After reading an input byte, restart loop
Otherwise if there is a character in the output queue, we'll keep
trying unsuccessfully to send it which just slows down the input
queue processing. Quickly read more data until there's nothing to
read, and then do the output queue.
This should probably stop at some point so we don't get flooded with
data.