summaryrefslogtreecommitdiffstats
path: root/generic/tclIORChan.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-03-28 20:29:03 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-03-28 20:29:03 (GMT)
commit8655555eb47137bde7b3feeba1ea7b0913168943 (patch)
tree1d21904caed29ddac825462a068c419804460557 /generic/tclIORChan.c
parent2d315899eb5f0ed08932292cfd68803fcb7429f3 (diff)
parent2a5a3323cb1ca687feb5548200410385661b35e9 (diff)
downloadtcl-8655555eb47137bde7b3feeba1ea7b0913168943.zip
tcl-8655555eb47137bde7b3feeba1ea7b0913168943.tar.gz
tcl-8655555eb47137bde7b3feeba1ea7b0913168943.tar.bz2
Merge minimal fix for iocmd-23.11.
Note that top channel regeneration is removed, so that Preserve/Release call pairs are sure to operate on the same pointers. Other bug fixes may need to change that.
Diffstat (limited to 'generic/tclIORChan.c')
-rw-r--r--generic/tclIORChan.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/generic/tclIORChan.c b/generic/tclIORChan.c
index cb0282a..a09a7a6 100644
--- a/generic/tclIORChan.c
+++ b/generic/tclIORChan.c
@@ -586,6 +586,7 @@ TclChanCreateObjCmd(
chan = Tcl_CreateChannel(&tclRChannelType, TclGetString(rcId), rcPtr,
mode);
rcPtr->chan = chan;
+ Tcl_Preserve(chan);
chanPtr = (Channel *) chan;
/*
@@ -2306,6 +2307,7 @@ FreeReflectedChannel(
ckfree(chanPtr->typePtr);
chanPtr->typePtr = NULL;
}
+ Tcl_Release(chanPtr);
FreeReflectedChannelArgs(rcPtr);