This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: how to do a timeout in getchar
- To: gnu-win32 at cygnus dot com
- Subject: Re: how to do a timeout in getchar
- From: cgf at bbc dot com (Christopher Faylor)
- Date: Wed, 11 Mar 1998 15:36:15 GMT
- Organization: Boston Business Computing, Ltd.
- References: <00a801bd4c36$8f05aa20$299f23cb@markread>
- Reply-To: cgf at bbc dot com
In article <00a801bd4c36$8f05aa20$299f23cb@markread>,
Mark Read <mread@ozemail.com.au> wrote:
>Hi Jacob.
>
>I've been looking for a way to set a flag if a key *isn't* present in the
>keybrd buffer, or set a flag *immediately* a SIGINT (eg. ctrl-c) occurs.
>However, I can't find a solution to either of these requirements.
>
>getchar(): Will suspend my loop until a character is received in the kbd
>buffer. I want my loop to continue executing if *nothing* is in the kbd
>buffer!
>
>_kbhit is ideal for this, but I can't see gnu-win32 supporting this. I
>searched my entire gnu dir tree, which covers *all* the include directories,
>and nothing found - no prototype.
>
>It was, however, found inside these files:
>- c:\gnu\tcl\cw3215.dll
>- c:\gnu\H-i386-cygwin32\bin\cygwin.dll
>- c:\gnu\H-i386-cygwin32\i386-cygwin32\linwinserve.a and libcygwin.a
>
>Isn't libcygwin.a automatically linked at compile time? I added _kbhit() to
>my source code and the compiler complained about "syntax error before
>_kbhit".
If I do a 'nm libcygwin.a | grep kbhit' nothing shows up. kbhit is not
exported by cygwinb19.dll.
However, you should be able to use select() to do what you want. select()
operates on console input correctly, AFAIK.
--
http://www.bbc.com/ cgf@bbc.com "Strange how unreal
VMS=>UNIX Solutions Boston Business Computing the real can be."
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".