TIP: Click on subject to list as thread! ANSI
echo: muffin
to: Wes Garland
from: Bob Jones
date: 2003-07-02 11:32:12
subject: Keyboard Polling...

BJ> I've seen this one character issue / bug in other 
 BJ> software.  I think it gets back to how the C 
 BJ> compiler libraries handle pointers on character 
 BJ> devices..... 
 WG>  
 WG> To be clear, under UNIX there are C compiler libraries (the annoying 
 WG> exception being the C++ compiler libraries for gcc 3 
 WG> onward) -- technically, these are OS-level libraries 
 WG> which compiled C code calls. Subtle difference, but 
 WG> important -- it means that you can't depend on the 
 WG> compiler for 'bug compatible' (etc) behaviour, because 
 WG> the underlying OS is really what matters. This is 
 WG> actually similar to the way Windows works if you're 
 WG> calling, say, winsock code from either Borland or VC, 
 WG> the compiler matters not, the version of winsock.dll does.

Yes, the bug is getting back to OS level issues.  I think I've seen it in
both C and Pascal code.....  And on multiple operating systems, including
some old mainframe systems.

 WG> Anyhow, when I fixed that bug under Maximus, what I 
 WG> found was that the ncurses library didn't behave the 
 WG> way I thought it would -- I was asking for a 0-second 
 WG> timeout on my reads with the timeout() call. This is 
 WG> supposed to be equivalent to a non-blocked read, but 
 WG> seems to cause buggy behaviour observed. Asking for 
 WG> notimeout() seems to fix it. Stupid, stupid, stupid. 
 WG> Either seems to work under real curses.


We may need to look at the ncurses code and suggest a patch for using
Maximus with it......  Something in the back of my mind says I've seen this
documented someplace concerning ncurses....

Take care.....

Bob Jones, 1:343/41


--- Maximus/2 3.01
* Origin: Top Hat 2 BBS (1:343/41)
SEEN-BY: 633/267 270
@PATH: 343/41 10/345 106/1 2000 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.