Mangle the expected output correctly for both 5.9 and 5.8
[p5sagit/p5-mst-13.2.git] / vmesa / vmesa.c
index b396380..8bc733b 100644 (file)
@@ -121,7 +121,6 @@ do_aspawn(SV* really, SV **mark, SV **sp)
     status = FAIL;
     if (sp > mark)
     {
-       dTHR;
        New(401,PL_Argv, sp - mark + 1, char*);
        a = PL_Argv;
        while (++mark <= sp)
@@ -182,13 +181,13 @@ do_aspawn(SV* really, SV **mark, SV **sp)
              /* be used by my_pclose                        */
              /*---------------------------------------------*/
              close(fd);
-             FDPID_LOCK;
+             MUTEX_LOCK(&PL_fdpid_mutex);
              p_sv  = av_fetch(PL_fdpid,fd,TRUE);
              fd    = (int) SvIVX(*p_sv);
              SvREFCNT_dec(*p_sv);
              *p_sv = &PL_sv_undef;
              sv    = *av_fetch(PL_fdpid,fd,TRUE);
-             FDPID_UNLOCK;
+             MUTEX_UNLOCK(&PL_fdpid_mutex);
              (void) SvUPGRADE(sv, SVt_IV);
              SvIVX(sv) = pid;
              status    = 0;
@@ -286,7 +285,6 @@ do_spawn(char *cmd, int execf)
                     (const char **) environ);
        if (pid < 0)
        {
-          dTHR;
           status = FAIL;
           if (ckWARN(WARN_EXEC))
              warner(WARN_EXEC,"Can't exec \"%s\": %s",
@@ -414,9 +412,9 @@ my_popen(char *cmd, char *mode)
          pid = spawn_cmd(cmd, Perl_stdin_fd, Perl_stdout_fd);
          if (pid >= 0)
          {
-            FDPID_LOCK;
+            MUTEX_LOCK(&PL_fdpid_mutex);
             sv = *av_fetch(PL_fdpid,pFd[this],TRUE);
-            FDPID_UNLOCK;
+            MUTEX_UNLOCK(&PL_fdpid_mutex);
             (void) SvUPGRADE(sv, SVt_IV);
             SvIVX(sv) = pid;
             fd = PerlIO_fdopen(pFd[this], mode);
@@ -427,9 +425,9 @@ my_popen(char *cmd, char *mode)
       }
       else
       {
-         FDPID_LOCK;
+         MUTEX_LOCK(&PL_fdpid_mutex);
          sv = *av_fetch(PL_fdpid,pFd[that],TRUE);
-         FDPID_UNLOCK;
+         MUTEX_UNLOCK(&PL_fdpid_mutex);
          (void) SvUPGRADE(sv, SVt_IV);
          SvIVX(sv) = pFd[this];
          fd = PerlIO_fdopen(pFd[this], mode);
@@ -466,9 +464,9 @@ my_pclose(FILE *fp)
  SV   **sv;
  FILE *other;
 
-   FDPID_LOCK;
+   MUTEX_LOCK(&PL_fdpid_mutex);
    sv        = av_fetch(PL_fdpid,PerlIO_fileno(fp),TRUE);
-   FDPID_UNLOCK;
+   MUTEX_UNLOCK(&PL_fdpid_mutex);
    pid       = (int) SvIVX(*sv);
    SvREFCNT_dec(*sv);
    *sv       = &PL_sv_undef;