[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Building CVS on Windows is broken...again
From: |
Conrad T. Pino |
Subject: |
RE: Building CVS on Windows is broken...again |
Date: |
Mon, 16 Feb 2004 05:25:36 -0800 |
Hi Derek,
> From: Derek Robert Price [mailto:derek@ximbiot.com]
>
> <http://www.opengroup.org/onlinepubs/007904975/functions/fcntl.html> has
> a prototype and a description, but the only thing we need to be able to
> do for this check is set an open file descriptor to enable non-blocking
> reads (the call being used on UNIX is `fcntl (fd, F_SETFL, flags |
> O_NONBLOCK)' ).
Native Win32 handles don't have a blocking (synchronous) or (non-blocking)
asynchronous attribute/property/flag i.e. this mode is NOT chosen at file
open/create time. The choice is made when invoking the I/O operation by
using either synchronous or asynchronous forms of the I/O operation. The
same file handle will support concurrent asynchronous and synchronous I/O
operations (provided they're invoked in the correct order or by different
threads).
Example ReadFile (either mode) & ReadFileEx (asynchronous only):
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/readfile.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/readfileex.asp
The real challenge lies in the POSIX compatibility routines of the I/O library
which are in use. We need to find the library data structure that determines
which Win32 API call will be invoked for the next CVS I/O function call.
Can you provide a list of functions of interest for asynchronous I/O?
I only have Visual C++ 6.0 and various Borland C/C++ compilers.
How much flexibility do we have deviating away from Visual C++ 5?
Has anybody tried a Win32 build with gcc hosted on Unix?
Has anybody tried a Win32 build with gcc hosted on Windows?
Conrad