The old method would introduce a race condition where the buffer
could be overwritten before the data was consumed. For slow, single
character typing this was fine, but w/ packets being generated by
a computer, this would cause corruption of the incoming data..