summaryrefslogtreecommitdiff
path: root/vms
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-11-27 17:47:28 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-11-27 17:47:28 +0000
commitafd8f43609a62435ff6ae59350ebfaf35076793a (patch)
tree440849ae72b586234ed3e21d48270270dbbe65c9 /vms
parent667e1aeab713159696ce789f49cdca2a48dafdc4 (diff)
downloadperl-afd8f43609a62435ff6ae59350ebfaf35076793a.tar.gz
VMS piping fixes from Charles Lane (perl -P should
be working now). p4raw-id: //depot/perl@13326
Diffstat (limited to 'vms')
-rw-r--r--vms/vms.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/vms/vms.c b/vms/vms.c
index 86171d395f..43c81d80a4 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -2039,7 +2039,10 @@ vmspipe_tempfile(pTHX)
fprintf(fp,"$ perl_del/symbol/global perl_popen_in\n");
fprintf(fp,"$ perl_del/symbol/global perl_popen_err\n");
fprintf(fp,"$ perl_del/symbol/global perl_popen_out\n");
- fprintf(fp,"$ perl_del/symbol/global perl_popen_cmd\n");
+ fprintf(fp,"$ perl_del/symbol/global perl_popen_cmd0\n");
+ fprintf(fp,"$ perl_del/symbol/global perl_popen_cmd1\n");
+ fprintf(fp,"$ perl_del/symbol/global perl_popen_cmd2\n");
+ fprintf(fp,"$ perl_del/symbol/global perl_popen_cmd3\n");
fprintf(fp,"$ perl_on\n");
fprintf(fp,"$ 'c\n");
fprintf(fp,"$ perl_status = $STATUS\n");
@@ -2091,6 +2094,8 @@ safe_popen(pTHX_ char *cmd, char *in_mode, int *psts)
$DESCRIPTOR(d_sym_out,"PERL_POPEN_OUT");
$DESCRIPTOR(d_sym_err,"PERL_POPEN_ERR");
+ if (!head_PLOC) store_pipelocs(aTHX); /* at least TRY to use a static vmspipe file */
+
/* once-per-program initialization...
note that the SETAST calls and the dual test of pipe_ef
makes sure that only the FIRST thread through here does
@@ -4206,7 +4211,6 @@ pipe_and_fork(pTHX_ char **cmargv)
}
*p = '\0';
- store_pipelocs(); /* gets redone later */
fp = safe_popen(subcmd,"wbF",&sts);
if (fp == Nullfp) {
PerlIO_printf(Perl_debug_log,"Can't open output pipe (status %d)",sts);
@@ -7145,7 +7149,7 @@ init_os_extras()
newXS("File::Copy::rmscopy",rmscopy_fromperl,file);
newXSproto("vmsish::hushed",hushexit_fromperl,file,";$");
- store_pipelocs(aTHX);
+ store_pipelocs(aTHX); /* will redo any earlier attempts */
return;
}