summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/plugin_channel.cc
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-18 22:26:06 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-18 22:26:06 +0000
commit7c23cfc44c6fa5d224acd7cae942dc7310138c7b (patch)
treeae569425056ebb156ee551cdc53c181dbbeac608 /chrome/plugin/plugin_channel.cc
parentac85724fdcee9a6de40fe5f953f9e5787621af23 (diff)
downloadchromium_src-7c23cfc44c6fa5d224acd7cae942dc7310138c7b.zip
chromium_src-7c23cfc44c6fa5d224acd7cae942dc7310138c7b.tar.gz
chromium_src-7c23cfc44c6fa5d224acd7cae942dc7310138c7b.tar.bz2
linux/mac: fix another race condition with the plugin channel
http://codereview.chromium.org/165280 helped a lot, but it turns out that the ResourceClientProxy keep a reference to the channel, and it's hard to clean those in time. To be on the safe side, remove the name->FD mapping when the channel is removed from the name->channel map. Also remove it when a channel error occurs. Again, to be on the safe side, the channel is unusable at this point (the other side may have closed it already), so it's better to drop it. BUG=18521 Review URL: http://codereview.chromium.org/171100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23666 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/plugin/plugin_channel.cc')
-rw-r--r--chrome/plugin/plugin_channel.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/chrome/plugin/plugin_channel.cc b/chrome/plugin/plugin_channel.cc
index 7234e16..04d9afc 100644
--- a/chrome/plugin/plugin_channel.cc
+++ b/chrome/plugin/plugin_channel.cc
@@ -58,7 +58,6 @@ PluginChannel::~PluginChannel() {
if (renderer_handle_)
base::CloseProcessHandle(renderer_handle_);
#if defined(OS_POSIX)
- IPC::RemoveAndCloseChannelSocket(channel_name());
// If we still have the renderer FD, close it.
if (renderer_fd_ != -1) {
close(renderer_fd_);