In win32.c there is a CreateChild function:

static struct ChildRecord * CreateChild(char *cmd, SECURITY_ATTRIBUTES
*psa, HANDLE hInput, HANDLE hOutput, HANDLE hError)

That accepts three handles for stdin/out/err.  The only code that calls
this is pipe_exec (Kernel.exec?) and that passes three NULL values for
the handles.  Could this not be used to set the stdin/out/err triplet to
a pipe and then implement a "kind of" popen3 on win32?

I ask this because I am trying to exec another Ruby program and capture
its stdout/stderr as they would appear on the console (interlaced
together).  If an error occurs in running, I want to present that to the
user.

Thanks,

-rich
_______________________________
Rich Kilmer, InfoEther LLC
trap("SIGINT") { raise [104, 101, 108, 108].pack("cccc") }