diff options
author | 2016-12-12 14:23:27 -0600 | |
---|---|---|
committer | 2016-12-12 14:23:27 -0600 | |
commit | bd45c2d860de783433bedd3832c0c2c574591a3b (patch) | |
tree | 9f3ed55aaf3f34f3ef3a5ba75886ee796997a52a /ChangeLog.txt | |
parent | fc66205e2603a7e715c921d66314457e286786e0 (diff) | |
download | pseudo-bd45c2d860de783433bedd3832c0c2c574591a3b.tar.gz pseudo-bd45c2d860de783433bedd3832c0c2c574591a3b.tar.bz2 pseudo-bd45c2d860de783433bedd3832c0c2c574591a3b.zip |
From: Rabin Vincent <rabinv@axis.com>
When tclsh forks it can create new threads in the child process, in a
pthread_atfork() handler. Running this under pseudo results in a
deadlock since the pseudo_lock() call in the new thread in the child
process premanently believes that the mutex is already locked by another
thread (which actually only existed in the parent process).
The provided test cases reproduces this. Similar hangs can also been
seen in other cases, such as when attempting to use vim's cscope support
under pseudo.
Fix it by reseting the mutex in a pthread_atfork() child function.
Signed-off-by: Rabin Vincent <rabinv@axis.com>
Signed-off-by: Seebs <seebs@seebs.net>
Diffstat (limited to 'ChangeLog.txt')
-rw-r--r-- | ChangeLog.txt | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt index 77b1ff4..d2f93b0 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -4,6 +4,7 @@ * (seebs) contributed fixes for Python 3 support * All of these from: Gaƫl PORTAY <gael.portay@savoirfairelinux.com> * (seebs) import fix from Rabin Vincent for test case + * (seebs) import fix from Rabin Vincent for pthread mutexes 2016-11-23: * (seebs) actually wait on server shutdown for pseudo -S [cmd] |