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
Bug-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-cvs

Reply via email to