[fpc-devel] Console IO revisited
    Thaddy 
    thaddy at thaddy.com
       
    Fri Dec  3 13:22:41 CET 2010
    
    
  
Sorry if this is already picked up as it IMHO should have been. I missed 
some mails due to a server crash.
Today I encountered a similar issue with using threadvars for the input, 
output and err variables in system when trying to use the input as a 
win32 sync handle with the CreateFile API. Fails miserably.
This is specified in the windows API documentation, but is broken in FPC 
because the IO are not global to a process but threadvar.
This is a mistake! (without due explanation, not from the point of FPC 
developers, but from the point of view of OS development
Checkout for example: 
http://msdn.microsoft.com/en-us/library/aa363858%28VS.85%29.aspx
It becomes obvious, especially in the case of (the recommended) 
overlapped IO for std streams that this is totally broken in FPC. Also, 
as I stated before, for the same reason it breaks the Posix compliance. 
AFAIK it also would break any GCC/C++ code for OS's that contain a Posix 
subsystem and you would want to translate some code for.
I therefore ask again  to change the Threadvars for console IO to vars.
It breaks not only what windows expects, but also what most nixes expect.
The only somewhat useful comments I have seen regarding to this in our 
previous discussion are FPC specific! work-arounds.
    
    
More information about the fpc-devel
mailing list