summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/nacl_host/nacl_broker_service.cc7
-rw-r--r--chrome/nacl/broker_thread.cc2
2 files changed, 5 insertions, 4 deletions
diff --git a/chrome/browser/nacl_host/nacl_broker_service.cc b/chrome/browser/nacl_host/nacl_broker_service.cc
index 76da887..6a58c2f 100644
--- a/chrome/browser/nacl_host/nacl_broker_service.cc
+++ b/chrome/browser/nacl_host/nacl_broker_service.cc
@@ -39,11 +39,12 @@ bool NaClBrokerService::StartBroker() {
bool NaClBrokerService::LaunchLoader(NaClProcessHost* nacl_process_host,
const std::wstring& loader_channel_id) {
+ // Add task to the list
+ pending_launches_[loader_channel_id] = nacl_process_host;
if (broker_started_) {
+ // If the broker is not ready yet
+ // we will call LaunchLoader in OnBrokerStarted
broker_host_->LaunchLoader(loader_channel_id);
- } else {
- // Add task to the list
- pending_launches_[loader_channel_id] = nacl_process_host;
}
return true;
}
diff --git a/chrome/nacl/broker_thread.cc b/chrome/nacl/broker_thread.cc
index 0b4bbd2..832c73a7 100644
--- a/chrome/nacl/broker_thread.cc
+++ b/chrome/nacl/broker_thread.cc
@@ -57,7 +57,7 @@ void NaClBrokerThread::OnLaunchLoaderThroughBroker(
if (loader_process) {
DuplicateHandle(::GetCurrentProcess(), loader_process,
browser_handle_, &loader_handle_in_browser,
- PROCESS_DUP_HANDLE, FALSE, 0);
+ PROCESS_DUP_HANDLE | PROCESS_QUERY_INFORMATION , FALSE, 0);
}
}
Send(new NaClProcessMsg_LoaderLaunched(loader_channel_id,