[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Windows & POSIX
From: |
Ingolf Steinbach |
Subject: |
Re: Windows & POSIX |
Date: |
Tue, 22 Feb 2005 16:30:11 +0100 |
User-agent: |
KMail/1.5.2 |
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
ingolf.steinbach@jena-optronik.de ++49 3641 200-147
PGP: 0x7B3B5661 213C 828E 0C92 16B5 05D0 4D5B A324 EC04