Subject: Re: how to do a timeout in getchar
From: [email-masked] (Christopher Faylor)

11 Mar 1998 20:53:10 -0800
Message-ID: <[email-masked]>
References: <00a801bd4c36$8f05aa20$299f23cb@markread>
Reply-To: [email-masked]
To: [email-masked]

In article <00a801bd4c36$8f05aa20$299f23cb@markread>,
Mark Read <[email-masked]> 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/	[email-masked]			"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
"[email-masked]" with one line of text: "help".