--- a/sys/kern/tty_tty.c +++ b/sys/kern/tty_tty.c @@ -156,15 +156,15 @@ retry: /* * Avoid a nasty race if we block while getting the lock. */ - vref(ttyvp); + vhold(ttyvp); error = vn_lock(ttyvp, LK_EXCLUSIVE | LK_RETRY | LK_FAILRECLAIM); if (error) { - vrele(ttyvp); + vdrop(ttyvp); goto retry; } if (ttyvp != cttyvp(p) || (ttyvp->v_flag & VCTTYISOPEN) == 0) { kprintf("Warning: cttyclose: race avoided\n"); vn_unlock(ttyvp); - vrele(ttyvp); + vdrop(ttyvp); goto retry; } vclrflags(ttyvp, VCTTYISOPEN); @@ -172,7 +172,7 @@ retry: error = VOP_CLOSE(ttyvp, FREAD|FWRITE, NULL); vn_unlock(ttyvp); - vrele(ttyvp); + vdrop(ttyvp); } else { error = 0; }