On Tue, 2003-09-30 at 17:12, Stas Bekman wrote:
> > The major non-feature is that you can't have a coprocess; the parent
> > blocks while the child runs.
> 
> You mean if you spawn a child from a process spawned by IPC::Run3?

When you spawn a child from the parent, the parent blocks.  So in

    use IPC::Run3 qw( run3 );


    my @cmd = qw( slow_thingy.pl );

    run3 [EMAIL PROTECTED], \$in, \$out, \$err;

, the call to run3() does not return until slow_thingy.pl exits and if
you use CODE refs (instead of SCALAR refs) for redirecting
slow_thingy.pl's console I/O, they won't be called until slow_thingy.pl
exit()s.  So you can't interact

This differs from IPC::Run::run() where you can use CODE refs for
stdout/stderr redirection and interact with the child process by having
your stdout/stderr handlers feed input back in to the child process via
its stdin.

That's all.

- Barrie

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to