Consolidated patch to 5.004_64
[p5sagit/p5-mst-13.2.git] / perl.c
diff --git a/perl.c b/perl.c
index 6ded533..bc53f5e 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -176,6 +176,7 @@ perl_construct(register PerlInterpreter *sv_interp)
 #endif
     }
 
+    init_stacks(ARGS);
 #ifdef MULTIPLICITY
     I_REINIT;
     perl_destruct_level = 1; 
@@ -211,7 +212,6 @@ perl_construct(register PerlInterpreter *sv_interp)
 
     fdpid = newAV();   /* for remembering popen pids by fd */
 
-    init_stacks(ARGS);
     DEBUG( {
        New(51,debname,128,char);
        New(52,debdelim,128,char);
@@ -682,7 +682,7 @@ setuid perl scripts securely.\n");
            if (euid != uid || egid != gid)
                croak("No -e allowed in setuid scripts");
            if (!e_fp) {
-#ifdef HAS_UMASK
+#if defined(HAS_UMASK) && !defined(VMS)
                int oldumask = PerlLIO_umask(0177);
 #endif
                e_tmpname = savepv(TMPPATH);
@@ -709,7 +709,7 @@ setuid perl scripts securely.\n");
 #endif
                if (!e_fp)
                    croak("Cannot create temporary file \"%s\"", e_tmpname);
-#ifdef HAS_UMASK
+#if defined(HAS_UMASK) && !defined(VMS)
                (void)PerlLIO_umask(oldumask);
 #endif
            }