diff options
| author | dgp <dgp@users.sourceforge.net> | 2018-04-25 15:00:53 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2018-04-25 15:00:53 (GMT) |
| commit | 13bcd282e3970b483fe00aa53e58ccf456d17bbc (patch) | |
| tree | 4dbc707399a6e334148c8704fdf5b5450c204d3a /generic/tclProcess.c | |
| parent | 26e714137a987c67af5a932fdaf7bd1138d97a2d (diff) | |
| parent | 859bcc9f868c96444e50001dac785edb3e889156 (diff) | |
| download | tcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.zip tcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.tar.gz tcl-13bcd282e3970b483fe00aa53e58ccf456d17bbc.tar.bz2 | |
merge 8.7
Diffstat (limited to 'generic/tclProcess.c')
| -rw-r--r-- | generic/tclProcess.c | 5 |
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; } |
