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