Hi,

In message "Re: RCR for child execution"

|Separation of ruby stdout/stderr from C/C++ stdout/stderr is what I want.
|I run Ruby in the same thread as C++ (ruby embedded into C++).
|This separation is working fine, as long as I don't use system or
|backquote.

Hmm, but still stdin is stdin.  The redirectable output port is
$defout and $deferr (which is just added).

|Using system or backquote, then it goes BOOM. The problem as I see it is
|localized in Rubys code - not mine!  Ruby spawns a child which inherits
|stdout/stderr.  This child should instead inherit rb_stdout/rb_stderr
|instead!!!    Can this issue be fixed on Ruby ???

I'm not sure what you meant by "BOOM".  Even when Ruby is embedded in
the program, it's still in the same process.  The spawned process
inherits stdin etc. from the parent process, even when it's created
from within Ruby.  It's UNIX way.  I can't change it.  The only way I
can think of to avoid "BOOM" is (if I understand correctly) to remove
"system", "exec" and "`" methods.

							matz.