wu@webrtc.org
3c5d2b43ec
Thread::Stop() must be called before any subclass's destructor completes.
...
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
2013-10-18 16:27:26 +00:00
..
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-22 21:07:49 +00:00
2013-07-22 21:07:49 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-13 17:18:27 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-26 19:17:59 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-19 05:49:50 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-22 21:07:49 +00:00
2013-07-10 00:45:36 +00:00
2013-07-12 16:04:50 +00:00
2013-08-01 21:20:46 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-08-01 00:00:07 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-27 23:04:10 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-10-07 23:32:02 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-22 21:07:49 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-08-23 23:21:25 +00:00
2013-07-10 00:45:36 +00:00
2013-09-06 22:56:28 +00:00
2013-08-23 23:21:25 +00:00
2013-08-23 23:21:25 +00:00
2013-07-12 16:04:50 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-08-01 00:00:07 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-09-30 18:59:08 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-09-27 23:04:10 +00:00
2013-09-27 23:04:10 +00:00
2013-10-13 17:18:27 +00:00
2013-10-13 17:18:27 +00:00
2013-10-09 15:37:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-10-13 17:18:27 +00:00
2013-10-13 17:18:27 +00:00
2013-10-13 17:18:27 +00:00
2013-10-13 17:18:27 +00:00
2013-10-09 15:37:36 +00:00
2013-10-09 15:37:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-12 16:04:50 +00:00
2013-09-19 05:49:50 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-12 16:04:50 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-08-10 07:18:04 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-09 15:37:36 +00:00
2013-10-13 17:18:27 +00:00
2013-08-10 07:18:04 +00:00
2013-10-13 17:18:27 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-09 15:37:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-09 15:37:36 +00:00
2013-10-09 15:37:36 +00:00
2013-10-09 15:37:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-07 23:32:02 +00:00
2013-10-07 23:32:02 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-08-01 00:00:07 +00:00
2013-09-23 20:34:45 +00:00
2013-07-10 00:45:36 +00:00
2013-09-23 20:34:45 +00:00
2013-09-27 23:04:10 +00:00
2013-10-18 16:27:26 +00:00
2013-10-18 16:27:26 +00:00
2013-10-18 16:27:26 +00:00
2013-09-23 19:47:49 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-27 23:04:10 +00:00
2013-07-26 19:17:59 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-10-18 16:27:26 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-09-27 23:04:10 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00
2013-07-10 00:45:36 +00:00