Hi, I am encountering a problem with this piece of code that I have written.
************************************************** my($child_fh, $parent_fh) = (new IO::Handle, new IO::Handle); socketpair($child_fh, $parent_fh, AF_UNIX, SOCK_STREAM, PF_UNSPEC) or die "socketpair failed: $!"; $child_fh->autoflush; $parent_fh->autoflush; if (my $pid = fork) { close $parent_fh; $fh_sel->add( $child_fh ); # Start out writing to all children } else { # Child starts here die "cannot fork: $!" unless defined $pid; close $child_fh; close STDOUT; close STDIN; open(STDOUT, ">&$parent_fh") or die "Cant redirect STDOUT $!\n"; open(STDIN, "<&$parent_fh") or die "Cant redirect STDIN $!\n"; STDOUT->autoflush; close $parent_fh; my $cmd = "./executable"; my $rv = exec "$cmd"; if (!defined $rv) { ts_print("## ERROR: exec(): $!\n"); exit -1; } } ************************************************** In the child process, the STDOUT does not get redirected. open(STDOUT, ">&$parent_fh") gives an error saying invalid argument and therefore I get no reply in the parent process. I will appreciate any help that I can get on this. Thank You, -VM __________________________________________________ Do you Yahoo!? Faith Hill - Exclusive Performances, Videos & More http://faith.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]