home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / unix / bsd / 10232 < prev    next >
Encoding:
Text File  |  1992-12-15  |  2.8 KB  |  58 lines

  1. Newsgroups: comp.unix.bsd
  2. Path: sparky!uunet!news.univie.ac.at!news.tu-graz.ac.at!fstgds01!chmr
  3. From: chmr@fstgds01.tu-graz.ac.at (Christoph Robitschko)
  4. Subject: Re: More on pccons/XFree86 problems (keyboard hangs)
  5. Message-ID: <1992Dec15.083801.11567@news.tu-graz.ac.at>
  6. Keywords: 386BSD X11 XFree86 console pccons
  7. Sender: news@news.tu-graz.ac.at (USENET News System)
  8. Nntp-Posting-Host: fstgds01
  9. Organization: Technical University of Graz, Austria
  10. References: <1992Dec13.172900.451@ponds.uucp> <1992Dec14.115444.12691@news.tu-graz.ac.at> <veit.724353177@du9ds3>
  11. Date: Tue, 15 Dec 92 08:38:01 GMT
  12. Lines: 44
  13.  
  14. In article <veit.724353177@du9ds3> veit@du9ds3.fb9dv.uni-duisburg.de writes:
  15. >Ok, my second followup. I have just checked my system with codrv and I didn't
  16. >succeed in reproducing this effect :-). Since I do not do reference counting
  17. >in codrv, there must be a different reason. I found that pcclose in *not*
  18. >called on 'kill -1 syslogd'. This is because usually the pccons device is
  19. >normally not used at all (e.g. by csh or x386/keyboard input), so the vnode
  20. >refcount for /dev/console is quite accurate.
  21.  
  22. The pccons device is normally used by getty (via /dev/vga).
  23. And the reason why pcclose is not called on 'kill -1 syslogd' is most
  24. probably another process which has /dev/console open. It *is* called
  25. on my system (checked with the kernel debugger).
  26. BTW, I can easily reproduce this bug *outside* of X windows, by killing
  27. all processes which potentially have /dev/console open (This is not
  28. difficult, since I only have update and syslogd running).
  29. The console the locks up and there is *no keyboard echo* on the screen.
  30. The system is usable again after there is some output to the pccons device.
  31. I.e., try:
  32.     (sleep 30; echo nixnix > /dev/vga) &
  33.     kill syslogd (and possibly others)
  34.  
  35. >But then, what *might* be the reason, despite the fact that codrv uses a
  36. >real /dev/kbd instead of a /dev/console switched into scancode mode?
  37. >I had a "keyboard hang" with an earlier, unpublished version of codrv, in this 
  38. >case, however, with a crashing or  'xterm -C'. The not so obvious reason is
  39. >that closing a pty that happens to have the TIOCCONS attribute does not
  40. >invalidate the constty pointer. So constty-> points to an invalid
  41. >struct tty, which has been marked as closed. So it is not directly the 
  42. >keyboard that hangs, but the csh which has this (invalid) tty open, waits on
  43. >'ttopen' (see this with ps -axl on a connected terminal). The mandatory
  44. >fix for this is the following:
  45. >
  46. [patch deleted]
  47. This patch is certainly mandatory, but I doubt that it fixes the keyboard
  48. hang, because not only the input to the shell is blocked, but also
  49. there is no keyboard echo on the screen.
  50.  
  51. But I am glad thatyour codrv does not have that problem.
  52.  
  53. >Holger
  54.  
  55.                             Christoph
  56. -- 
  57. .signature: Protocol wrong type for socket
  58.