OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/nacl/nacl_listener.h" | 5 #include "chrome/nacl/nacl_listener.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <stdlib.h> | 8 #include <stdlib.h> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 } | 125 } |
126 | 126 |
127 private: | 127 private: |
128 // The listener never dies, otherwise this might be a dangling reference. | 128 // The listener never dies, otherwise this might be a dangling reference. |
129 NaClListener* listener_; | 129 NaClListener* listener_; |
130 }; | 130 }; |
131 | 131 |
132 | 132 |
133 NaClListener::NaClListener() : shutdown_event_(true, false), | 133 NaClListener::NaClListener() : shutdown_event_(true, false), |
134 io_thread_("NaCl_IOThread"), | 134 io_thread_("NaCl_IOThread"), |
135 main_loop_(NULL), | 135 main_loop_(NULL) { |
136 debug_enabled_(false) { | |
137 io_thread_.StartWithOptions(base::Thread::Options(MessageLoop::TYPE_IO, 0)); | 136 io_thread_.StartWithOptions(base::Thread::Options(MessageLoop::TYPE_IO, 0)); |
138 #if defined(OS_WIN) | 137 #if defined(OS_WIN) |
139 DCHECK(g_listener == NULL); | 138 DCHECK(g_listener == NULL); |
140 g_listener = this; | 139 g_listener = this; |
141 #endif | 140 #endif |
142 } | 141 } |
143 | 142 |
144 NaClListener::~NaClListener() { | 143 NaClListener::~NaClListener() { |
145 NOTREACHED(); | 144 NOTREACHED(); |
146 shutdown_event_.Signal(); | 145 shutdown_event_.Signal(); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 CHECK_EQ(params.validation_cache_key.length(), (size_t) 64); | 224 CHECK_EQ(params.validation_cache_key.length(), (size_t) 64); |
226 // The cache structure is not freed and exists until the NaCl process exits. | 225 // The cache structure is not freed and exists until the NaCl process exits. |
227 args->validation_cache = CreateValidationCache( | 226 args->validation_cache = CreateValidationCache( |
228 new BrowserValidationDBProxy(this), params.validation_cache_key, | 227 new BrowserValidationDBProxy(this), params.validation_cache_key, |
229 params.version); | 228 params.version); |
230 } | 229 } |
231 | 230 |
232 CHECK(handles.size() == 1); | 231 CHECK(handles.size() == 1); |
233 args->imc_bootstrap_handle = nacl::ToNativeHandle(handles[0]); | 232 args->imc_bootstrap_handle = nacl::ToNativeHandle(handles[0]); |
234 args->enable_exception_handling = params.enable_exception_handling; | 233 args->enable_exception_handling = params.enable_exception_handling; |
235 args->enable_debug_stub = debug_enabled_; | 234 args->enable_debug_stub = params.enable_debug_stub; |
236 #if defined(OS_WIN) | 235 #if defined(OS_WIN) |
237 args->broker_duplicate_handle_func = BrokerDuplicateHandle; | 236 args->broker_duplicate_handle_func = BrokerDuplicateHandle; |
238 args->attach_debug_exception_handler_func = AttachDebugExceptionHandler; | 237 args->attach_debug_exception_handler_func = AttachDebugExceptionHandler; |
239 #endif | 238 #endif |
240 NaClChromeMainStart(args); | 239 NaClChromeMainStart(args); |
241 NOTREACHED(); | 240 NOTREACHED(); |
242 } | 241 } |
OLD | NEW |