With [EMAIL PROTECTED] on OpenVMS Alpha 7.3-1 I don't get the uninitialized value 
warning, but the child's SYS$INPUT does point to the disk that vmspipe.com is on.

At 10:13 AM -0400 5/29/03, [EMAIL PROTECTED] wrote:
>
>My own opinion is that when you do system(), the subprocess shouldn't
>be taking any input from sys$input at all...it should have it's input
>set to NL:

We used to pass "NL:" as the second arg to lib$spawn, but we changed this as discussed 
here:

<http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/2002-04/msg00106.html>

What's surprising to me is that with the second argument omitted as we now do, the 
child is supposed to inherit both the SYS$INPUT and SYS$COMMAND of the parent.  
Perhaps it does but SYS$INPUT gets reassigned as soon as we start executing 
vmspipe.com?

If I'm understanding safe_popen right, the infrastructure is there to pass the values 
of SYS$INPUT, SYS$OUTPUT, and, SYS$ERROR to the child via symbols, but unless I'm 
missing something, this infrastructure (at least before Michael's suggestion) is not 
used for SYS$INPUT in the *mode == 'n' case.  In other words, pipe_mbxtofd_setup is 
never called for stdin, only stdout and stderr.  Wouldn't this be the way to handle 
it, rather than translating SYS$INPUT?

If we do change this, we'll want to run the pipe torture tests to make sure we haven't 
broken anything.

-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to