summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2012-07-24 20:20:56 (GMT)
committerdgp@users.sourceforge.net <dgp>2012-07-24 20:20:56 (GMT)
commitcb91d15de5d83bf844962c86297ba75fb11d1219 (patch)
treeb50bf04b3aa179b56cadcdf8fccdecb5bc63c75f /generic/tclIO.c
parent65a0fb55003705093815c4024b851835408a2882 (diff)
parentfd8a71286053b46a132c1e0a6c6ac324f7bb7802 (diff)
downloadtcl-cb91d15de5d83bf844962c86297ba75fb11d1219.zip
tcl-cb91d15de5d83bf844962c86297ba75fb11d1219.tar.gz
tcl-cb91d15de5d83bf844962c86297ba75fb11d1219.tar.bz2
Preserve the chanPtr so that script evaluation cannot invalidate it when
we plan to use it again.
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 87d5727..2de8b53 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -8825,6 +8825,7 @@ TclChannelEventScriptInvoker(
*/
Tcl_Preserve(interp);
+ Tcl_Preserve(chanPtr);
result = Tcl_EvalObjEx(interp, esPtr->scriptPtr, TCL_EVAL_GLOBAL);
/*
@@ -8841,6 +8842,7 @@ TclChannelEventScriptInvoker(
}
Tcl_BackgroundException(interp, result);
}
+ Tcl_Release(chanPtr);
Tcl_Release(interp);
}