summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.c
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1999-11-28 07:44:11 +0000
committeryokota <yokota@FreeBSD.org>1999-11-28 07:44:11 +0000
commitd740587cf80bf1274d432dc39c17d9c3dd7c8945 (patch)
tree600320d3b987c939fe3e741d065658ba0eeac445 /sys/dev/syscons/syscons.c
parent3d0554801f6249ab9a3349ef9c94b137a79e529b (diff)
downloadFreeBSD-src-d740587cf80bf1274d432dc39c17d9c3dd7c8945.zip
FreeBSD-src-d740587cf80bf1274d432dc39c17d9c3dd7c8945.tar.gz
- Fail VT switching when the controlling program, such as the
X server, is not responding to the VT switching protocol. (This part of the code has been somewhat wrong in -CURRENT, but -STABLE has the correct code...)
Diffstat (limited to 'sys/dev/syscons/syscons.c')
-rw-r--r--sys/dev/syscons/syscons.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 0bf5e37..48ac62f 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -2129,14 +2129,14 @@ switch_scr(sc_softc_t *sc, u_int next_scr)
case 4:
default:
/*
- * Clear the flag and force the previous switch to finish,
- * but return now with error.
+ * Act as if the controlling program returned
+ * VT_FALSE.
*/
DPRINTF(5, ("force reset WAIT_REL, "));
sc->cur_scp->status &= ~SWITCH_WAIT_REL;
- s = do_switch_scr(sc, s);
+ sc->switch_in_progress = 0;
splx(s);
- DPRINTF(5, ("force finishing previous switch\n"));
+ DPRINTF(5, ("act as if VT_FALSE was seen\n"));
return EINVAL;
}
} else if (sc->cur_scp->status & SWITCH_WAIT_ACQ) {
OpenPOWER on IntegriCloud