Chromium Code Reviews| Index: chrome/plugin/plugin_channel.cc |
| diff --git a/chrome/plugin/plugin_channel.cc b/chrome/plugin/plugin_channel.cc |
| index 7f6f7d6be981cf85daa9c3721d04f11514d0a28d..7234e16c2cb87dc92ef75db14d4837b640539b67 100644 |
| --- a/chrome/plugin/plugin_channel.cc |
| +++ b/chrome/plugin/plugin_channel.cc |
| @@ -17,6 +17,16 @@ |
| #include "ipc/ipc_channel_posix.h" |
| #endif |
| +class PluginReleaseTask : public Task { |
| + public: |
| + void Run() { |
| + ChildProcess::current()->ReleaseProcess(); |
| + } |
| +}; |
| + |
| +// How long we wait before releasing the plugin process. |
| +static const int kPluginReleaseTimeMS = 10000; |
|
jam
2009/08/07 23:33:26
nit: the convention is to use "Ms"
|
| + |
| PluginChannel* PluginChannel::GetPluginChannel( |
| int process_id, MessageLoop* ipc_message_loop) { |
| // map renderer's process id to a (single) channel to that process |
| @@ -54,7 +64,8 @@ PluginChannel::~PluginChannel() { |
| close(renderer_fd_); |
| } |
| #endif |
| - ChildProcess::current()->ReleaseProcess(); |
| + MessageLoop::current()->PostDelayedTask(FROM_HERE, new PluginReleaseTask(), |
| + kPluginReleaseTimeMS); |
| } |
| bool PluginChannel::Send(IPC::Message* msg) { |