Files
poky/meta/recipes-devtools/tcltk8/tcl8/interp.patch
Alexander Kanavin eca49ca726 tcl8: re-add tcl 8 to support building expect
I'd be happy to remove expect from core as it has been unmaintained for years,
but sadly gcc/binutils test suites are basically written in it (via dejagnu),
and ltp makes use of it as well.

I attempted porting expect to tcl 9, but it's a tcl extension and makes
extensive use of features that have been deprecated in tcl 8 and removed
in tcl 9, and even pokes into tcl internals.

At some point hopefully the GNU toolchain upstreams are going to notice;
for now we'll carry tcl (latest) and tcl8 recipes.

tcl and tcl8 packages can be co-installed, the latter is adjusted
to contain tclsh8.

tcl-dev and tcl8-dev packages can also be co-installed, a few files
in tcl8-dev are renamed to avoid clashes with tcl-dev (tcl.pc -> tcl8.pc,
and similar for tclConfig.sh and tclooConfig.sh).

(From OE-Core rev: 8ec7bfc6644aff011545dfb0f5a415e79d7b0844)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-11-12 11:19:44 +00:00

41 lines
1.2 KiB
Diff

From 426aa2ff62dda77fd011e8f630b9d4ea17984817 Mon Sep 17 00:00:00 2001
From: Ross Burton <ross.burton@arm.com>
Date: Mon, 12 Jul 2021 14:50:13 +0100
Subject: [PATCH] tcl: fix race in interp.test
The interp-36.7 patch has race conditions and is missing cleanup. This patch by
a Tcl maintainer should improve matters.
Upstream-Status: Pending
Signed-off-by: Ross Burton <ross.burton@arm.com>
---
tests/interp.test | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/interp.test b/tests/interp.test
index d742484..fc90990 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -3595,17 +3595,18 @@ test interp-36.7 {ChildBgerror sets error handler of child [1999035]} -setup {
variable result
set result [lindex $args 0]
}
+ set tout [after 5000 {set result timeout}]
} -body {
child eval {
variable done {}
after 0 error foo
- after 10 [list ::set [namespace which -variable done] {}]
- vwait [namespace which -variable done]
}
+ vwait result
set result
} -cleanup {
+ after cancel $tout
variable result {}
- unset -nocomplain result
+ unset -nocomplain result tout
interp delete child
} -result foo