Hi Conrad,
On Tuesday 22 February 2005 04:34, Conrad T. Pino wrote:
> How does abstracting all CVS I/O calls for files, pipes
> and sockets sound to you?
Emulating non-blocking I/O (including select()) with Windows
API functions (asynchronous ReadFile()/WriteFile() and
WaitForMultipleObjects()) is a nightmare. For instance
a) you cannot cancel an asynchronous ReadFile() operation
and then reliably determine the amount of data already
read.
b) cancelling a ReadFile() operation (via CancelIo())
automatically cancels any other I/O operation on the same
handle
c) you cannot determine the amount of data which can be
read "immediately" (without blocking) for all kinds of
input sources.
Non-blocking writing has its own problems.
Maybe there is an easy solution for this, but I have not yet
found it.
Kind regards
Ingolf
--
Ingolf Steinbach Jena-Optronik GmbH
[EMAIL PROTECTED] ++49 3641 200-147
PGP: 0x7B3B5661 213C 828E 0C92 16B5 05D0 4D5B A324 EC04
_______________________________________________
Bug-cvs mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-cvs