/[base]
ViewVC logotype

Revision 272789


Jump to revision: Previous Next
Author: marcel
Date: Thu Oct 9 02:30:38 2014 UTC (10 years ago)
Changed paths: 1
Log Message:
Fix draining in ttydev_leave():
1.  ERESTART is not only returned when the revoke count changed. It
    is also returned when a signal is received. While a change in
    the revoke count should be ignored, a signal should not.
2.  Waiting until the output queue is entirely drained can cause a
    hang when the underlying device is stuck or broken.

Have tty_drain() take care of this by telling it when we're leaving.
When leaving, tty_drain() will use a timed wait to address point 2
above and it will check the revoke count to handle point 1 above.
The timeout is set to 1 second, which is arbitrary and long enough
to expect a change in the output queue.

Discussed with: jilles@
Reported by: Yamagi Burmeister <lists@yamagi.org>


Changed paths

Path Details
Directoryhead/sys/kern/tty.c modified , text changed

  ViewVC Help
Powered by ViewVC 1.1.27