Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site wgivax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!mcnc!unccvax!wgivax!mo From: mo@wgivax.UUCP Newsgroups: net.unix-wizards,net.unix,net.wanted,net.dcom Subject: Re: Need Non-Blocking Terminal Input Function For Berkeley 4.2 Message-ID: <132@wgivax.UUCP> Date: Fri, 24-Jan-86 08:29:11 EST Article-I.D.: wgivax.132 Posted: Fri Jan 24 08:29:11 1986 Date-Received: Sun, 26-Jan-86 04:05:51 EST References: <482@kontron.UUCP> Lines: 60 Xref: watmath net.unix-wizards:16526 net.unix:6922 net.wanted:8008 net.dcom:1629 If you are willing to write a simple input manager, you could use getch() with alarm() and longjmp/setjmp() to manage your problem. For instance: #include #include #include jmp_buf xyz; main() { int trapalarm(); char string[80]; do { fprintf(stderr,"Please enter string: "); signal(SIGALRM, trapalarm); alarm(5); if(setjmp(xyz) == 0) { get_input(string); fprintf(stderr,"%s",string); } else { fprintf(stderr,"no input\n"); continue; } } while(strcmp(string,"end")); } get_input(str) char *str; { register char *c; c = str; do { *c = getchar(); alarm(0); } while(*c++ != '\n'); *c = 0; } trapalarm() { alarm(0); longjmp(xyz,1); } =============================================================================== Mike O'Shea (decvax!mcnc!unccvax!wgivax!mo)