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