commit | b78306a7d339bfcc3c4a6043023ab57d95444b99 | [log] [tgz] |
---|---|---|
author | hbos <hbos@webrtc.org> | Mon Dec 19 13:06:57 2016 |
committer | Commit bot <commit-bot@chromium.org> | Mon Dec 19 13:06:57 2016 |
tree | 52c26495999ecc651dfad06b57f81e38a210ff6e | |
parent | 0c8c5388355f5df085595d9ea24fa38995708120 [diff] |
Fix segfault when PeerConnection is destroyed during stats collection. RTCStatsCollector relies on PeerConnection and its WebRtcSession. If the PeerConnection is destroyed, reference counting keeps the RTCStatsCollector alive until the request has completed. But the request is using PeerConnection/WebRtcSession resources that are destroyed in ~PeerConnection(). To get around this problem, RTCStatsCollector::WaitForPendingRequest() is added, which is invoked at ~PeerConnection(). Integration test added, it caused a segmentation fault before this change / EXPECT failure. BUG=chromium:627816 Review-Url: https://codereview.webrtc.org/2583613003 Cr-Commit-Position: refs/heads/master@{#15674}
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. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.