summaryrefslogtreecommitdiffstats
path: root/unix/tclUnixNotfy.c
diff options
context:
space:
mode:
authorJoe Mistachkin <joe@mistachkin.com>2013-10-28 21:45:52 (GMT)
committerJoe Mistachkin <joe@mistachkin.com>2013-10-28 21:45:52 (GMT)
commit6e55611be005b723e3f0d2ec521f2e73fce4c003 (patch)
tree56c68a28ffaecd5d1afdcf53b25a2e1cd08f76d1 /unix/tclUnixNotfy.c
parent5399cdf3b1ddf72ac37efa3b23117cd69836552a (diff)
downloadtcl-6e55611be005b723e3f0d2ec521f2e73fce4c003.zip
tcl-6e55611be005b723e3f0d2ec521f2e73fce4c003.tar.gz
tcl-6e55611be005b723e3f0d2ec521f2e73fce4c003.tar.bz2
Try resetting all the 'one time' locks as well.
Diffstat (limited to 'unix/tclUnixNotfy.c')
-rw-r--r--unix/tclUnixNotfy.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c
index 4ce4840..2440b01 100644
--- a/unix/tclUnixNotfy.c
+++ b/unix/tclUnixNotfy.c
@@ -1370,6 +1370,14 @@ AtForkChildProc(void)
notifierMutex = NULL;
/*
+ * Next, forcibly reset all the "one time" locks used by the threading
+ * subsystem. This is necessary on some (all?) variants of Unix where
+ * the pthread internal state does not survive a call to fork().
+ */
+
+ TclpResetLocks();
+
+ /*
* Force the notifier subsystem to be initialized now. This should
* create the notifier thread in this process. Subsequently, that new
* thread will re-open the trigger pipe.