pipe replacement w/o TerminateThread
Joe Buehler
jbuehler@hekimian.com
Tue Apr 15 21:45:00 GMT 2003
> Implementation-wise, this might actually be similar to the current
> implementation: another thread to do the blocking reading/writing
> so the main thread can be interrupted. But don't terminate the
> reader/writer thread when a read or write is interrupted, let it keep
> running,
> doing the appropriate thing depending on whether the main thread
> is waiting for data or off doing something else. If it gets data
> from the other end of the pipe, put it in a buffer and wait for
> the main thread to come get it before going to read more. If it
> finishes writing data to the pipe, let it go back and wait for more
> from the main thread. The front-end can buffer internally if this
> benefits performance.
It looks like this is pretty much what TCL does under Windows.
Check out tclWinPipe.c at tcl.apache.org.
--
Joe Buehler
More information about the Cygwin-developers
mailing list