summaryrefslogtreecommitdiffstats
path: root/sys/kern/tty.c
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2000-04-05 18:38:21 +0000
committerarchie <archie@FreeBSD.org>2000-04-05 18:38:21 +0000
commit57af21e428f99e75a1472c9eacffe8cda928411e (patch)
tree42695d015d95ef600beb8464763dfe9920f1b49b /sys/kern/tty.c
parent73d40971f4170b3b8996e5ac074646dc6696d52c (diff)
downloadFreeBSD-src-57af21e428f99e75a1472c9eacffe8cda928411e.zip
FreeBSD-src-57af21e428f99e75a1472c9eacffe8cda928411e.tar.gz
Fix a bug where SIGIO was not being delivered to a process requesting
async I/O when a tty device became writable. PR: kern/8324 Submitted by: Don Lewis <Don.Lewis@tsc.tdk.com>
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r--sys/kern/tty.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index b8eff2c..f393caf 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -2114,6 +2114,8 @@ ttwwakeup(tp)
if (tp->t_wsel.si_pid != 0 && tp->t_outq.c_cc <= tp->t_olowat)
selwakeup(&tp->t_wsel);
+ if (ISSET(tp->t_state, TS_ASYNC) && tp->t_sigio != NULL)
+ pgsigio(tp->t_sigio, SIGIO, (tp->t_session != NULL));
if (ISSET(tp->t_state, TS_BUSY | TS_SO_OCOMPLETE) ==
TS_SO_OCOMPLETE && tp->t_outq.c_cc == 0) {
CLR(tp->t_state, TS_SO_OCOMPLETE);
OpenPOWER on IntegriCloud