diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 2000-07-11 22:07:57 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 2000-07-11 22:07:57 +0000 |
| commit | f2a2857bb34f5525f21ad016c25b20348d7a1fab (patch) | |
| tree | ca1f94a427c4ab94cb5de2c2a7b557655d1a6376 /sys/kern/tty_tty.c | |
| parent | aa02fb5729dd652fa1da3f9e8e1152cca9010a1c (diff) | |
Notes
Diffstat (limited to 'sys/kern/tty_tty.c')
| -rw-r--r-- | sys/kern/tty_tty.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/kern/tty_tty.c b/sys/kern/tty_tty.c index 2d15c70140d3..66f7a7bd8236 100644 --- a/sys/kern/tty_tty.c +++ b/sys/kern/tty_tty.c @@ -133,13 +133,19 @@ cttywrite(dev, uio, flag) { struct proc *p = uio->uio_procp; struct vnode *ttyvp = cttyvp(uio->uio_procp); + struct mount *mp; int error; if (ttyvp == NULL) return (EIO); + mp = NULL; + if (ttyvp->v_type != VCHR && + (error = vn_start_write(ttyvp, &mp, V_WAIT | PCATCH)) != 0) + return (error); vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY, p); error = VOP_WRITE(ttyvp, uio, flag, NOCRED); VOP_UNLOCK(ttyvp, 0, p); + vn_finished_write(mp); return (error); } |
