commit | 267041c47086fc0da9ce3247a496964c924bb2d9 | [log] [tgz] |
---|---|---|
author | ilnik <ilnik@webrtc.org> | Tue Jun 27 07:21:01 2017 -0700 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Jun 27 14:21:01 2017 +0000 |
tree | 2cddea4e2abea3858a8de545e846e99b9c82fdb4 | |
parent | 4847ae6b51ea55b9db9bf16c7b97c3cb8d000f23 [diff] |
Fix deadlock in webrtc_perf_tests Reenable hanging tests on Mac. Deadlock happened because the following locks were grabbed by two threads at the end of a test: Thread 1: CapturedFrameForwarder::AddOrUpdateSink() locks CapturedFrameForwarder::crit_ and calls FrameGeneratorCapturer::AddOrUpdateSink() what tries to lock FrameGeneratorCapturer::lock_. Thread 2: FrameGeneratorCapturer::InsertFrame() locks FrameGeneratorCapturer::lock_ and calls CapturedFrameForwarder::OnFrame() which tries to lock CapturedFrameForwarder::crit_. So two threads are locking two same locks in different orders which may cause deadlock. BUG=webrtc:7870 Review-Url: https://codereview.webrtc.org/2955083002 Cr-Commit-Position: refs/heads/master@{#18783}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.