summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorseb <seb@pkgsrc.org>2005-08-31 14:46:59 +0000
committerseb <seb@pkgsrc.org>2005-08-31 14:46:59 +0000
commit20632ca1d6f848330251e4ebe02d6d56fc33207e (patch)
tree9ffbfe0e1c02a4f8c6af95f106c69099fda2e1c6 /lang
parent121ea81a271e27d34654f392e836b9469d54ae13 (diff)
downloadpkgsrc-20632ca1d6f848330251e4ebe02d6d56fc33207e.tar.gz
Add patch from Tcl cvs repository. See:
http://sourceforge.net/tracker/index.php?func=detail&aid=1222872&group_id=10894&atid=110894 http://cvs.sourceforge.net/viewcvs.py/tcl/tcl/unix/tclUnixNotfy.c?r1=1.11.2.12&r2=1.11.2.13&only_with_tag=core-8-4-branch This has the added benefit of improving the tcl interpreter stability on NetBSD/sparc64 2.0_STABLE: no more SIGBUS, due to a LP64 type problem with a pthread_join() argument, even if the self-test is still shaggy. Approved by jwise@.
Diffstat (limited to 'lang')
-rw-r--r--lang/tcl/distinfo3
-rw-r--r--lang/tcl/patches/patch-ak31
2 files changed, 33 insertions, 1 deletions
diff --git a/lang/tcl/distinfo b/lang/tcl/distinfo
index f9ae66ad90f..068d97ea430 100644
--- a/lang/tcl/distinfo
+++ b/lang/tcl/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.33 2005/08/02 22:37:18 seb Exp $
+$NetBSD: distinfo,v 1.34 2005/08/31 14:46:59 seb Exp $
SHA1 (tcl8.4.11-src.tar.gz) = 4580adcbdcb7d09fd9a8ae8fbe61c592a56bfa9e
RMD160 (tcl8.4.11-src.tar.gz) = 933dda739859af170c31cef855409f861ed597cb
@@ -13,3 +13,4 @@ SHA1 (patch-ag) = 0a11bfc878d43b15f6444923fac18b4876b62398
SHA1 (patch-ah) = 0aaa349fcf9ce736e1f7d3dad377ee355f549ecb
SHA1 (patch-ai) = ef8939597e759a95ca869f93e251df76d9c660f9
SHA1 (patch-aj) = 3e6844bce3e9c15100dd53ef4c8fb715ffebf1c9
+SHA1 (patch-ak) = 6d4ef7d1aa6709257add6f4cbc6b837f08004c55
diff --git a/lang/tcl/patches/patch-ak b/lang/tcl/patches/patch-ak
new file mode 100644
index 00000000000..92d16060142
--- /dev/null
+++ b/lang/tcl/patches/patch-ak
@@ -0,0 +1,31 @@
+$NetBSD: patch-ak,v 1.1 2005/08/31 14:46:59 seb Exp $
+
+--- tclUnixNotfy.c.orig 2005-06-07 10:26:58.000000000 +0000
++++ tclUnixNotfy.c
+@@ -275,7 +275,7 @@ Tcl_FinalizeNotifier(clientData)
+ */
+
+ if (notifierCount == 0) {
+- int result, dummy;
++ int result;
+ if (triggerPipe < 0) {
+ panic("Tcl_FinalizeNotifier: notifier pipe not initialized");
+ }
+@@ -288,13 +288,14 @@ Tcl_FinalizeNotifier(clientData)
+ * not just close the pipe and check for EOF in the notifier
+ * thread because if a background child process was created with
+ * exec, select() would not register the EOF on the pipe until the
+- * child processes had terminated. [Bug: 4139]
++ * child processes had terminated. [Bug: 4139][Bug: 1222872]
+ */
+ write(triggerPipe, "q", 1);
+ close(triggerPipe);
+-
++ while(triggerPipe >= 0) {
+ Tcl_ConditionWait(&notifierCV, &notifierMutex, NULL);
+- result = Tcl_JoinThread(notifierThread, &dummy);
++ }
++ result = Tcl_JoinThread(notifierThread, NULL);
+ if (result) {
+ Tcl_Panic("Tcl_FinalizeNotifier: unable to join notifier thread");
+ }