diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 19:58:13 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 19:58:13 +0000 |
commit | 42437980b6058c5916d3c3607df288339dd9467d (patch) | |
tree | 4771bb2158e35393c4e8105e64d223ce32b671b4 /ipc | |
parent | 12f8872770bd2a8051490d05d8ba9a2c49402515 (diff) | |
download | chromium_src-42437980b6058c5916d3c3607df288339dd9467d.zip chromium_src-42437980b6058c5916d3c3607df288339dd9467d.tar.gz chromium_src-42437980b6058c5916d3c3607df288339dd9467d.tar.bz2 |
The send done event in the old send watcher can be NULL as it can be signaled in a nested sync channel
send scenario which yields control to the plugin before the quit task is processed. This is perfectly legit
and we should not attempt to StopWatching the send done watcher as it crashes.
I will work on a unit test for this in a subsequent CL.
TBR=jam
Review URL: http://codereview.chromium.org/279002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29000 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_sync_channel.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ipc/ipc_sync_channel.cc b/ipc/ipc_sync_channel.cc index c5ec446..784b835 100644 --- a/ipc/ipc_sync_channel.cc +++ b/ipc/ipc_sync_channel.cc @@ -468,7 +468,7 @@ void SyncChannel::WaitForReplyWithNestedMessageLoop() { MessageLoop::current()->SetNestableTasksAllowed(old_state); sync_msg_queue->set_top_send_done_watcher(old_send_done_event_watcher); - if (old_send_done_event_watcher) { + if (old_send_done_event_watcher && old_event) { old_send_done_event_watcher->StartWatching(old_event, old_delegate); } } |