what was changed in 0.7 is that key_avail no longer uses ioctl with fionread to check, but select, because ioctl (... fionread ...) breaks under some circumstances.
however, select breaks on serial lines.