tep@tots.logicon.com (Tom Perrine) (03/19/91)
Help. The subject says it all :-) A nearby friend has a Sun-3/180, running SunOS 4.0 :-(, which is hanging users who use wgetch() and/or select() on terminals which are connected to an MCP tty port. The symptoms: 1. wgetch(stdscr,5000) always returns NULL or -1, no matter what characters are typed. Using the debugger shows that this library call uses select(). This happens if the user is at a ttyh (MCP) or ttyp (rlogin). 2. Emacs (which uses select) frequently hangs when being restarted from the SUSPENDed state (^Z,fg), and the process cannot be killed, even though its priority is non-negative. Ps shows that the process is in select(). This only happens at a "real" tty (MCP). Rlogin shells never have this problem. I know that there were many problems with 4.0 and ttys, but we avoided those problems by skipping from 3.5 to 4.1.1. Unfortunately, my friend cannot upgrade (the wonders of Gov't contracts!). Does anyone know of any patches that could help with these problems? The following program works fine on a 4/40 (IPC) running SunOS 4.1.1, but demonstrates the problem on the 3/180 under SunOS 4.0. main() { #include <curses.h> int ch; initscr(); wtimeout(stdscr,5000); while(1){ ch = wgetch(stdscr); wprintw(stdscr,"ch = %d\n", ch); if ( ch == 'q' ){ endwin(); exit(1); } } } Any info, vague recollections, or hints will be greatly appreciated! Tom Perrine (tep) |Internet: tep@tots.Logicon.COM Logicon - T&TSD | UUCP: sun!suntan!tots!tep P.O. Box 85158 |GENIE: T.PERRINE San Diego CA 92138 |Voice: +1 619 455 1330 "Harried: with preschoolers" | FAX: +1 619 552 0729