diff options
author | yokota <yokota@FreeBSD.org> | 1999-11-28 07:44:11 +0000 |
---|---|---|
committer | yokota <yokota@FreeBSD.org> | 1999-11-28 07:44:11 +0000 |
commit | d740587cf80bf1274d432dc39c17d9c3dd7c8945 (patch) | |
tree | 600320d3b987c939fe3e741d065658ba0eeac445 | |
parent | 3d0554801f6249ab9a3349ef9c94b137a79e529b (diff) | |
download | FreeBSD-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...)
-rw-r--r-- | sys/dev/syscons/syscons.c | 8 |
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) { |