[Bug 205398] [regression] [tty] tty_drain() kernel function lacks timeout support it had before

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Dec 18 13:43:21 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205398

            Bug ID: 205398
           Summary: [regression] [tty] tty_drain() kernel function lacks
                    timeout support it had before
           Product: Base System
           Version: 10.2-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Keywords: regression
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: eugen at grosbein.net
          Keywords: regression

Revision 181905 by ed at freebsd.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.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list