diff options
author | Kamil Rytarowski <n54@gmx.com> | 2017-11-03 20:48:19 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2017-11-03 20:48:19 +0000 |
commit | 55435b74271433e1767bb4f6d192f273862ff698 (patch) | |
tree | 87171fb7b655ddc002fdbfd4f4cb5bf156abb2be /llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp | |
parent | 0c99007db1b31d5d00c449ad2af2dd9bda051844 (diff) | |
download | bcm5719-llvm-55435b74271433e1767bb4f6d192f273862ff698.tar.gz bcm5719-llvm-55435b74271433e1767bb4f6d192f273862ff698.zip |
Correct detection of a thread termination
Summary:
Stop using the Linux solution with pthread_key_create(3).
This approach does not work on NetBSD, because calling
the thread destructor is not the latest operation on a POSIX
thread entity. NetBSD's libpthread still calls at least
pthread_mutex_lock and pthread_mutex_unlock.
Detect _lwp_exit(2) call as it is really the latest operation
called from a detaching POSIX thread.
This resolves one set of crashes observed in
the Thread Sanitizer execution.
Sponsored by <The NetBSD Foundation>
Reviewers: joerg, kcc, vitalybuka, dvyukov, eugenis
Reviewed By: vitalybuka
Subscribers: llvm-commits, kubamracek, #sanitizers
Tags: #sanitizers
Differential Revision: https://reviews.llvm.org/D39618
llvm-svn: 317363
Diffstat (limited to 'llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions