This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: how to do a timeout in getchar


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".


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]