summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_thread.cc
diff options
context:
space:
mode:
authorjabdelmalek@google.com <jabdelmalek@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-12 23:50:30 +0000
committerjabdelmalek@google.com <jabdelmalek@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-12 23:50:30 +0000
commit8fd8de981b580be7513e7e8be16d4f0249f56ff3 (patch)
treed39b3f1a0e5238c49b365a1fbd342179f7e34e5b /chrome/renderer/render_thread.cc
parenta5b94a90c11917b9c7f1d91c9a2069badc22819e (diff)
downloadchromium_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.cc4
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();