Revision 181905 by firstname.lastname@example.org brought the new MPSAFE TTY layer and removed "drainwain" timeout support. Now applications working with serial port can hang forever on close() system call:
- an application opens /dev/cuau0 in non-blocing i/o mode and tries to detect GSM gateway there writing commands like ATZ, ATE1 etc. to the device;
- the device may be dead (lost power, broken, disconnected etc.) and does not answer back;
- application timeouts waiting for answer and closes device with close()
- tty layer tries to drain output "forever", until a signal arrives.
gnokii (comms/gnokii) suffers from this problem.
Please re-implement tunable timeout and TIOCSDRAINWAIT syscall kernel has before.