commit | 162cb53e7b6b892ef5201c5ce242520694bab9c1 | [log] [tgz] |
---|---|---|
author | deadbeef <deadbeef@webrtc.org> | Fri Feb 24 01:10:07 2017 |
committer | Commit bot <commit-bot@chromium.org> | Fri Feb 24 01:10:07 2017 |
tree | 33e63e80b175808bddda77f977e54dd13189431c | |
parent | 8e1435519ca58f367ce1774a4927e048dcef57cc [diff] |
Making AsyncInvoker destructor thread-safe. The documentation for AsyncInvoker states that it owns the lifetime of calls, and when its destructor is called, all in-flight calls are cancelled or finish executing. The "cancelled" part is working, but if a call is in the middle of executing, the destructor does *not* wait. This is fixed by keeping a count of pending invocations, which is decremented when a call is either cleared from a message queue or finishes executing. BUG=webrtc:3914, webrtc:3911 Review-Url: https://codereview.webrtc.org/2694723004 Cr-Commit-Position: refs/heads/master@{#16811}
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.