[571] in Athena Bugs

home help back first fref pref prev next nref lref last post

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'' 

home help back first fref pref prev next nref lref last post