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/common/ipc_sync_channel.h | |
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/common/ipc_sync_channel.h')
-rw-r--r-- | chrome/common/ipc_sync_channel.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/chrome/common/ipc_sync_channel.h b/chrome/common/ipc_sync_channel.h index bd473d4..fa3566e 100644 --- a/chrome/common/ipc_sync_channel.h +++ b/chrome/common/ipc_sync_channel.h @@ -128,7 +128,9 @@ class SyncChannel : public ChannelProxy { PendingSyncMessageQueue deserializers_; Lock deserializers_lock_; - scoped_refptr<ReceivedSyncMsgQueue> received_sync_msgs_; + // This can't be a scoped_refptr because it needs to be released on the + // listener thread. + ReceivedSyncMsgQueue* received_sync_msgs_; bool channel_closed_; bool reply_deserialize_result_; |