summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2016-06-16 17:06:25 (GMT)
committerdgp <dgp@users.sourceforge.net>2016-06-16 17:06:25 (GMT)
commit624ec168ecde5fbdbe83e4e7c558805b408fabcc (patch)
treee3e15fd38cf337d8c764493b47867104a0f652b2 /tests
parentacdd236f96616d9dd6707bc56fffacf95cb81b6a (diff)
downloadtcl-624ec168ecde5fbdbe83e4e7c558805b408fabcc.zip
tcl-624ec168ecde5fbdbe83e4e7c558805b408fabcc.tar.gz
tcl-624ec168ecde5fbdbe83e4e7c558805b408fabcc.tar.bz2
[16828b3744] [vwait] *must* successfully undo its variable trace, or else
it risks corrupting memory. Namespace teardown complexities were giving the traces an opportunity to survive. Added another (arguably better) Tcl_UntraceVar() call to be sure we avoid this problem.
Diffstat (limited to 'tests')
-rw-r--r--tests/event.test9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/event.test b/tests/event.test
index a7122f9..4996b97 100644
--- a/tests/event.test
+++ b/tests/event.test
@@ -559,6 +559,15 @@ test event-11.6 {Tcl_VwaitCmd procedure: round robin scheduling, same source} {
removeFile $test2file
list $x $y $z
} {3 3 done}
+test event-11.7 {Bug 16828b3744} {
+ after idle {
+ set ::t::v 1
+ namespace delete ::t
+ }
+ namespace eval ::t {
+ vwait ::t::v
+ }
+} {}
test event-12.1 {Tcl_UpdateCmd procedure} {