X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=win32%2Fwin32.c;h=a4e1a7938bf6db1615d56e14c476ecf9de43aaa3;hb=ce58e4c2a04da0fdbc16746698a37cdef4d70f56;hp=a05a3fe8a632ebb9ebe58707685a300ceaad7ce7;hpb=9bb8fa4d8ccca8c2de391a370dd92749d7f09354;p=p5sagit%2Fp5-mst-13.2.git diff --git a/win32/win32.c b/win32/win32.c index a05a3fe..a4e1a79 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -2390,9 +2390,9 @@ win32_popen(const char *command, const char *mode) /* close saved handle */ win32_close(oldfd); - MUTEX_LOCK(&PL_fdpid_mutex); + LOCK_FDPID_MUTEX; sv_setiv(*av_fetch(w32_fdpid, p[parent], TRUE), childpid); - MUTEX_UNLOCK(&PL_fdpid_mutex); + UNLOCK_FDPID_MUTEX; /* set process id so that it can be returned by perl's open() */ PL_forkprocess = childpid; @@ -2428,9 +2428,9 @@ win32_pclose(FILE *pf) int childpid, status; SV *sv; - MUTEX_LOCK(&PL_fdpid_mutex); + LOCK_FDPID_MUTEX; sv = *av_fetch(w32_fdpid, win32_fileno(pf), TRUE); - MUTEX_UNLOCK(&PL_fdpid_mutex); + if (SvIOK(sv)) childpid = SvIVX(sv); else @@ -2443,6 +2443,7 @@ win32_pclose(FILE *pf) win32_fclose(pf); SvIVX(sv) = 0; + UNLOCK_FDPID_MUTEX; if (win32_waitpid(childpid, &status, 0) == -1) return -1;