Comment #24 on issue 18491 by bugdro...@chromium.org: Accessing Google  
Voice Site http://google.com/voice causes Aw.. Snap
http://code.google.com/p/chromium/issues/detail?id=18491

The following revision refers to this bug:
     http://src.chromium.org/viewvc/chrome?view=rev&revision=23102

------------------------------------------------------------------------
r23102 | pi...@chromium.org | 2009-08-11 15:32:38 -0700 (Tue, 11 Aug 2009)  
| 20 lines
Changed paths:
    M  
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/renderer/webplugin_delegate_proxy.cc?r1=23102&r2=23101

linux/mac: Fix race condition when destroying the renderer<->plugin channel

There is a race condition at plugin destruction on posix:
1- (renderer) WebPluginDelegateProxy1 opens a channel to the plugin
2- (plugin) new channel created, sends FD1 to renderer
3- (renderer) WebPluginDelegateProxy1 receives FD1, establishes the channel  
name -> FD1 mapping.
[...]
4- (renderer) WebPluginDelegateProxy1 asks the plugin to destroy an  
instance, and schedules self for delayed deletion which will release the  
channel and remove the mapping.
5- (plugin) this was the last instance, plugin closes its end of the  
channel, removes its mapping.
6- (renderer) WebPluginDelegateProxy2 opens a channel to the plugin
7- (plugin) new channel created, sends FD2 to renderer
8- (renderer) WebPluginDelegateProxy2 receives FD2, establishes the channel  
name -> FD2 mapping *ASSERT* because the mapping already exists (to FD1)
9- (renderer) WebPluginDelegateProxy1 deleted, causes channel host  
destruction and removing of channel name -> FD1 mapping

The channel host destruction in (9) needs to happen before (8). This CL  
does that.

BUG=18491

Review URL: http://codereview.chromium.org/165280

------------------------------------------------------------------------


--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---

Reply via email to