| Index: mojo/shell/standalone/context.cc
|
| diff --git a/mojo/shell/standalone/context.cc b/mojo/shell/standalone/context.cc
|
| index e64ed826364d591091c5c548acc64c9219c28440..c036694ee5dc34c684fa6055de8616d0faa5ded5 100644
|
| --- a/mojo/shell/standalone/context.cc
|
| +++ b/mojo/shell/standalone/context.cc
|
| @@ -140,7 +140,8 @@ void Context::Init(scoped_ptr<InitParams> init_params) {
|
| blocking_pool_ =
|
| new base::SequencedWorkerPool(kMaxBlockingPoolThreads, "blocking_pool");
|
|
|
| - if (!init_params || init_params->init_edk) {
|
| + init_edk_ = !init_params || init_params->init_edk;
|
| + if (init_edk_) {
|
| edk::InitIPCSupport(this, io_thread_->task_runner().get());
|
| #if defined(OS_MACOSX)
|
| edk::SetMachPortProvider(MachBroker::GetInstance()->port_provider());
|
| @@ -210,8 +211,13 @@ void Context::Shutdown() {
|
| // loop shutdown.
|
| shell_.reset();
|
|
|
| - TRACE_EVENT0("mojo_shell", "Context::Shutdown");
|
| DCHECK_EQ(base::MessageLoop::current()->task_runner(), shell_runner_);
|
| +
|
| + // If we didn't initialize the edk we should not shut it down.
|
| + if (!init_edk_)
|
| + return;
|
| +
|
| + TRACE_EVENT0("mojo_shell", "Context::Shutdown");
|
| // Post a task in case OnShutdownComplete is called synchronously.
|
| base::MessageLoop::current()->PostTask(FROM_HERE,
|
| base::Bind(edk::ShutdownIPCSupport));
|
|
|