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