[571] in Athena Bugs
VS2000 console driver hanging problem
daemon@ATHENA.MIT.EDU (Mark W. Eichin)
Sun Jul 31 22:13:33 1988
Date: Sun, 31 Jul 88 22:11:59 EDT
From: Mark W. Eichin <eichin@ATHENA.MIT.EDU>
To: vs-testers@ATHENA.MIT.EDU, bugs@ATHENA.MIT.EDU
PROBLEM:
Sometimes, when a VS2000 login window times out, the screen blanks
and the cursor sits there, and the workstation never deactivates.
THE REAL PROBLEM:
If you hit ^S on a VS2000, console output is suspended, even if X
is running.
Kernel printf's are exempt from this, but su messages and other
output to /dev/console are suspended. ^Q will free this. To
demonstrate:
xset led 3
press ^Q in the root window, or *any* window...
To demonstrate the original problem, press ^S somewhere and then
logout; when the workstation deactivates, the original symptoms will
be quite evident.
SOLUTION:
In vaxuba/sm.c, only process sm_keyboard.cntrl if open_flag is 0,
which indicates that the graphics device is not open (ie. X is not
running.)
===========================================================================
*** /paris/source/vax/sys/vaxuba/sm.c Tue Dec 15 16:03:34 1987
--- /mit/eichin/sm.c Sun Jul 31 22:09:22 1988
***************
*** 637,644 ****
qp->itail = i;
}
#endif notdef
! else {
! if (sm_keyboard.cntrl == 1) {
switch (data) {
case CHAR_S:
tp->t_state |= TS_TTSTOP;
--- 637,644 ----
qp->itail = i;
}
#endif notdef
! {
! if ((sm_keyboard.cntrl == 1) && (open_flag == 0)) {
switch (data) {
case CHAR_S:
tp->t_state |= TS_TTSTOP;
===========================================================================
The else in the original is a side effect of an ugly #ifdef notdef
construction above.
This should probably be reported to DEC, as this module may or may
not have been fixed in Ultrix 2.4.
I have tested this on kremvax; it works, and solves the problem.
SUGGESTION:
It would probably be a very good idea to get this fix into the
field release, given the much greater proportion of VS2000's in the
field as compared to E40.
Mark Eichin
<eichin@athena.mit.edu>
SIPB Member & Project Athena ``Watchmaker''