Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Issue 1380023004: Allow cross-thread destruction of RTCSessionDescriptionRequest objects. (Closed)

Created:
5 years, 2 months ago by sof
Modified:
5 years, 2 months ago
CC:
chromium-reviews, blink-reviews, dglazkov+blink, blink-reviews-api_chromium.org, Guido Urdaneta
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Allow cross-thread destruction of RTCSessionDescriptionRequest objects. ligjingle may queue incoming CreateOffer/Answer session requests from the browser process. Should the RTC session be shut down before those requests have been processed & queue is drained, the libjingle thread will destruct these requests as part the session shutdown. (See associated bug for stack trace of when&how this happens.) Embedded in those requests are references to Oilpan heap objects, by way of Persistent<RTCSessionDescriptionRequest>. As Persistent<>s are thread local, requiring that the thread that created & registered them is the one that finalizes, the destruction performed by the libjingle thread runs into trouble. Hence, allow libjingle to destruct CreateSessionDescriptionRequests by having WebRTCSessionDescriptionRequests refer to the Oilpan Blink object by way of a CrossThreadPersistent<>. It imposes no same-thread restriction wrt destruction. R=haraken, tommi, philipj BUG=537745 Committed: https://crrev.com/b16338dd1caf186c3601ce4dcd209670e9f2f36f Cr-Commit-Position: refs/heads/master@{#351783}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1 line, -1 line) Patch
M third_party/WebKit/public/platform/WebRTCSessionDescriptionRequest.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 16 (6 generated)
sof
please take a look. I had a look around in the libjingle & webrtc code ...
5 years, 2 months ago (2015-10-01 07:48:57 UTC) #2
haraken
non-owner LGTM
5 years, 2 months ago (2015-10-01 08:03:26 UTC) #3
tommi (sloooow) - chröme
-Tommy as he's away atm + Guido FYI lgtm. thanks for the detailed background.
5 years, 2 months ago (2015-10-01 10:35:22 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1380023004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1380023004/1
5 years, 2 months ago (2015-10-01 10:42:31 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/105621)
5 years, 2 months ago (2015-10-01 10:50:59 UTC) #9
sof
public/ needs owner approval. jochen@, philipj@ ptal? thanks.
5 years, 2 months ago (2015-10-01 11:00:40 UTC) #11
philipj_slow
lgtm
5 years, 2 months ago (2015-10-01 12:24:20 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1380023004/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1380023004/1
5 years, 2 months ago (2015-10-01 12:30:01 UTC) #14
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 2 months ago (2015-10-01 12:34:57 UTC) #15
commit-bot: I haz the power
5 years, 2 months ago (2015-10-01 12:35:29 UTC) #16
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/b16338dd1caf186c3601ce4dcd209670e9f2f36f
Cr-Commit-Position: refs/heads/master@{#351783}

Powered by Google App Engine
This is Rietveld 408576698