One more Win32 programming question for OSProcess
Stephen Pair
spair at advantive.com
Tue Feb 26 13:42:22 UTC 2002
David,
The general mechanisms for handling file i/o asyncronously in Windows
are called "I/O completion ports"...but, these APIs are only available
on operating systems using the NT kernel (which all current Windows OSes
use). There's a white paper on the MSDN site called something like
"writing scalable server applications in Windows NT"...it has a good
discussion on doing asynchronous I/O using I/O completion ports. Search
for "completion ports" on msdn.microsoft.com.
- Stephen
> -----Original Message-----
> From: squeak-dev-admin at lists.squeakfoundation.org
> [mailto:squeak-dev-admin at lists.squeakfoundation.org] On
> Behalf Of David T. Lewis
> Sent: Tuesday, February 26, 2002 8:09 AM
> To: squeak-dev at lists.squeakfoundation.org
> Subject: One more Win32 programming question for OSProcess
>
>
> Sorry to pollute the Squeak list with this, but I need some
> help on Win32 anonymous pipes:
>
> In CommandShell, when running with OSProcess, I do a lot
> of IO to operating system pipes. In order to prevent hanging
> the Squeak VM on a blocking read or write on an operating
> system pipe, I set the pipe to nonblocking mode. On Unix,
> this is done with a call to fcntl().
>
> Is there an equivalent mechanism on Win32, in which I could
> set the characteristics of a HANDLE on a Win32 anonymous pipe
> to cause it to be nonblocking?
>
> I suspect that the answer is no, but I thought I'd better ask
> before implementing something dumb like a thread to wait on a
> read or write to complete. Ugh, I'm sure that's going to end
> up being the answer.
>
> Thanks
>
>
>
More information about the Squeak-dev
mailing list
|