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 |
||
---|---|---|
.. | ||
carbonvideorenderer.cc | ||
carbonvideorenderer.h | ||
deviceinfo.h | ||
devicemanager_unittest.cc | ||
devicemanager.cc | ||
devicemanager.h | ||
dummydevicemanager_unittest.cc | ||
dummydevicemanager.cc | ||
dummydevicemanager.h | ||
fakedevicemanager.h | ||
filevideocapturer_unittest.cc | ||
filevideocapturer.cc | ||
filevideocapturer.h | ||
gdivideorenderer.cc | ||
gdivideorenderer.h | ||
gtkvideorenderer.cc | ||
gtkvideorenderer.h | ||
iosdeviceinfo.cc | ||
libudevsymboltable.cc | ||
libudevsymboltable.h | ||
linuxdeviceinfo.cc | ||
linuxdevicemanager.cc | ||
linuxdevicemanager.h | ||
macdeviceinfo.cc | ||
macdevicemanager.cc | ||
macdevicemanager.h | ||
macdevicemanagermm.mm | ||
mobiledevicemanager.cc | ||
v4llookup.cc | ||
v4llookup.h | ||
videorendererfactory.h | ||
win32deviceinfo.cc | ||
win32devicemanager.cc | ||
win32devicemanager.h |