summaryrefslogtreecommitdiffstats
path: root/generic/tclProcess.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-04-25 15:00:53 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-04-25 15:00:53 (GMT)
commit13bcd282e3970b483fe00aa53e58ccf456d17bbc (patch)
tree4dbc707399a6e334148c8704fdf5b5450c204d3a /generic/tclProcess.c
parent26e714137a987c67af5a932fdaf7bd1138d97a2d (diff)
parent859bcc9f868c96444e50001dac785edb3e889156 (diff)
downloadtcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.zip
tcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.tar.gz
tcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.tar.bz2
merge 8.7
Diffstat (limited to 'generic/tclProcess.c')
-rw-r--r--generic/tclProcess.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/generic/tclProcess.c b/generic/tclProcess.c
index 7187ee4..604b7ce 100644
--- a/generic/tclProcess.c
+++ b/generic/tclProcess.c
@@ -887,6 +887,7 @@ TclProcessWait(
* First search for pid in table.
*/
+ Tcl_MutexLock(&infoTablesMutex);
entry = Tcl_FindHashEntry(&infoTablePerPid, pid);
if (!entry) {
/*
@@ -897,6 +898,7 @@ TclProcessWait(
msgObjPtr, errorObjPtr);
if (msgObjPtr && *msgObjPtr) Tcl_IncrRefCount(*msgObjPtr);
if (errorObjPtr && *errorObjPtr) Tcl_IncrRefCount(*errorObjPtr);
+ Tcl_MutexUnlock(&infoTablesMutex);
return result;
}
@@ -906,6 +908,7 @@ TclProcessWait(
* Process has completed but TclProcessWait has already been called,
* so report no change.
*/
+ Tcl_MutexUnlock(&infoTablesMutex);
return TCL_PROCESS_UNCHANGED;
}
@@ -915,6 +918,7 @@ TclProcessWait(
/*
* No change, stop there.
*/
+ Tcl_MutexUnlock(&infoTablesMutex);
return TCL_PROCESS_UNCHANGED;
}
@@ -948,5 +952,6 @@ TclProcessWait(
info->purge = 1;
}
+ Tcl_MutexUnlock(&infoTablesMutex);
return result;
}