diff options
author | Stephen Wilson <wilsons@start.ca> | 2011-01-12 04:22:54 +0000 |
---|---|---|
committer | Stephen Wilson <wilsons@start.ca> | 2011-01-12 04:22:54 +0000 |
commit | a08cfb1299c33b61474eaba9ad7aef75c2168a66 (patch) | |
tree | 5bd0f54151cadb33acabedc1062fc9f473b698a7 /clang/lib/StaticAnalyzer | |
parent | c2204398e021beb313908ef837eeacb4329c572e (diff) | |
download | bcm5719-llvm-a08cfb1299c33b61474eaba9ad7aef75c2168a66.tar.gz bcm5719-llvm-a08cfb1299c33b61474eaba9ad7aef75c2168a66.zip |
Do not pass an invalid thread to Thread{Cancel,Join}.
A race condition exists between StopReadThread and the reader thread proper.
When StopReadThread sets m_read_thread_enabled to false the reader thread can
terminate and set m_read_thread to LLDB_INVALID_HOST_THREAD on exit. Thus calls
to ThreadCancel or ThreadJoin in StopReadThread can be passed an invalid handle.
This patch removes the race by using m_read_thread_enabled as the flag thru
which the reader thread can notify the parent thread of early/abnormal
termination.
llvm-svn: 123309
Diffstat (limited to 'clang/lib/StaticAnalyzer')
0 files changed, 0 insertions, 0 deletions