summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-07-24 20:20:56 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-07-24 20:20:56 (GMT)
commit35a3fb215565eaf3588738e0332c1d45686914e2 (patch)
treeb50bf04b3aa179b56cadcdf8fccdecb5bc63c75f /generic/tclIO.c
parentae35f4623ce863bc67e38190f8caef21c640d194 (diff)
parent3e32c29d6bce7fef17507f521c4c392fe4f8c469 (diff)
downloadtcl-35a3fb215565eaf3588738e0332c1d45686914e2.zip
tcl-35a3fb215565eaf3588738e0332c1d45686914e2.tar.gz
tcl-35a3fb215565eaf3588738e0332c1d45686914e2.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);
}