3c5d2b43ec
Update Thread documentation, fix all subclasses that had a problem. This is to avoid a data racing between the destructor modifying the vtable, and Thread::PreRun calling virtual method Run at the same time. For example: [ RUN ] FileMediaEngineTest.TestGetCapabilities ================== WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=2967) Read of size 8 at 0x7d480000bd00 by thread T1: #0 talk_base::Thread::PreRun(void*) /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:353 (libjingle_media_unittest+0x000000234da8) Previous write of size 8 at 0x7d480000bd00 by main thread: #0 talk_base::Thread::~Thread() /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/base/thread.cc:158 (libjingle_media_unittest+0x00000023478c) #1 ~RtpSenderReceiver /mnt/data/b/build/slave/Linux_Tsan_v2/build/src/out/Release/../../talk/media/base/filemediaengine.cc:122 (libjingle_media_unittest+0x0000001b551f) ... RISK=P2 TESTED=try bots and tsan BUG=2078,2080 R=fischman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2428004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4999 4adac7df-926f-26a2-2b94-8c16560cd09d |
||
---|---|---|
.. | ||
app/webrtc | ||
base | ||
build | ||
examples | ||
media | ||
p2p | ||
session | ||
site_scons | ||
sound | ||
third_party/libudev | ||
xmllite | ||
xmpp | ||
COPYING | ||
libjingle_examples.gyp | ||
libjingle_media_unittest.isolate | ||
libjingle_p2p_unittest.isolate | ||
libjingle_peerconnection_unittest.isolate | ||
libjingle_sound_unittest.isolate | ||
libjingle_tests.gyp | ||
libjingle_unittest.isolate | ||
libjingle.gyp | ||
libjingle.scons | ||
LICENSE_THIRD_PARTY | ||
main.scons | ||
OWNERS | ||
PRESUBMIT.py |