aboutsummaryrefslogtreecommitdiffstats
path: root/main/tcl/tcl-fix-segv.patch
blob: 1eaa11d2244f47f7f0a577e35ee12dfd01bd5c00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From 55234833327f1ee7469552fa103c316e5405f8b0 Mon Sep 17 00:00:00 2001
From: "nijtmans@users.sourceforge.net" <jan.nijtmans>
Date: Mon, 21 Mar 2016 09:05:34 +0000
Subject: [PATCH] Proposed fix for [d3071887dbc7aeac]: Fix SEGV in
 Tcl_FinalizeNotifier()

---
 unix/tclUnixNotfy.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c
index 48ba0cc..3946c7d 100644
--- a/unix/tclUnixNotfy.c
+++ b/unix/tclUnixNotfy.c
@@ -433,9 +433,11 @@ Tcl_FinalizeNotifier(
 			    "unable to write q to triggerPipe");
 		}
 		close(triggerPipe);
+		pthread_mutex_lock(&notifierMutex);
 		while(triggerPipe != -1) {
 		    pthread_cond_wait(&notifierCV, &notifierMutex);
 		}
+		pthread_mutex_unlock(&notifierMutex);
 		if (notifierThreadRunning) {
 		    int result = pthread_join((pthread_t) notifierThread, NULL);