summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-14 19:58:13 +0000
committerananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-14 19:58:13 +0000
commit42437980b6058c5916d3c3607df288339dd9467d (patch)
tree4771bb2158e35393c4e8105e64d223ce32b671b4 /ipc
parent12f8872770bd2a8051490d05d8ba9a2c49402515 (diff)
downloadchromium_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.cc2
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);
}
}