diff options
author | jabdelmalek@google.com <jabdelmalek@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 23:50:30 +0000 |
---|---|---|
committer | jabdelmalek@google.com <jabdelmalek@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 23:50:30 +0000 |
commit | 8fd8de981b580be7513e7e8be16d4f0249f56ff3 (patch) | |
tree | d39b3f1a0e5238c49b365a1fbd342179f7e34e5b /chrome/renderer/render_thread.cc | |
parent | a5b94a90c11917b9c7f1d91c9a2069badc22819e (diff) | |
download | chromium_src-8fd8de981b580be7513e7e8be16d4f0249f56ff3.zip chromium_src-8fd8de981b580be7513e7e8be16d4f0249f56ff3.tar.gz chromium_src-8fd8de981b580be7513e7e8be16d4f0249f56ff3.tar.bz2 |
Manually refcount ReceivedSyncMsgQueue so that we force it to be destructed on
the listener thread. I've fixed the renderer crashes which were happening because
SyncChannel was going away before the listener thread.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@762 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_thread.cc')
-rw-r--r-- | chrome/renderer/render_thread.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc index b61e1eb..ddc8ebd 100644 --- a/chrome/renderer/render_thread.cc +++ b/chrome/renderer/render_thread.cc @@ -135,6 +135,10 @@ void RenderThread::Init() { void RenderThread::CleanUp() { DCHECK(current() == this); + // Need to destruct the SyncChannel to the browser before we go away because + // it caches a pointer to this thread. + channel_.reset(); + // Clean up plugin channels before this thread goes away. PluginChannelBase::CleanupChannels(); |