Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(190)

Side by Side Diff: mojo/system/dispatcher.cc

Issue 216893005: Mojo: Move the handle table details out of CoreImpl into its own class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix compile assert Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mojo/system/dispatcher.h ('k') | mojo/system/handle_table.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "mojo/system/dispatcher.h" 5 #include "mojo/system/dispatcher.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "mojo/system/constants.h" 8 #include "mojo/system/constants.h"
9 #include "mojo/system/message_pipe_dispatcher.h" 9 #include "mojo/system/message_pipe_dispatcher.h"
10 10
11 namespace mojo { 11 namespace mojo {
12 namespace system { 12 namespace system {
13 13
14 namespace test { 14 namespace test {
15 15
16 // TODO(vtl): Maybe this should be defined in a test-only file instead. 16 // TODO(vtl): Maybe this should be defined in a test-only file instead.
17 DispatcherTransport DispatcherTryStartTransport( 17 DispatcherTransport DispatcherTryStartTransport(
18 Dispatcher* dispatcher) { 18 Dispatcher* dispatcher) {
19 return Dispatcher::CoreImplAccess::TryStartTransport(dispatcher); 19 return Dispatcher::HandleTableAccess::TryStartTransport(dispatcher);
20 } 20 }
21 21
22 } // namespace test 22 } // namespace test
23 23
24 // Dispatcher ------------------------------------------------------------------ 24 // Dispatcher ------------------------------------------------------------------
25 25
26 // static 26 // static
27 DispatcherTransport Dispatcher::CoreImplAccess::TryStartTransport( 27 DispatcherTransport Dispatcher::HandleTableAccess::TryStartTransport(
28 Dispatcher* dispatcher) { 28 Dispatcher* dispatcher) {
29 DCHECK(dispatcher); 29 DCHECK(dispatcher);
30 30
31 if (!dispatcher->lock_.Try()) 31 if (!dispatcher->lock_.Try())
32 return DispatcherTransport(); 32 return DispatcherTransport();
33 33
34 // We shouldn't race with things that close dispatchers, since closing can 34 // We shouldn't race with things that close dispatchers, since closing can
35 // only take place either under |handle_table_lock_| or when the handle is 35 // only take place either under |handle_table_lock_| or when the handle is
36 // marked as busy. 36 // marked as busy.
37 DCHECK(!dispatcher->is_closed_); 37 DCHECK(!dispatcher->is_closed_);
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 // DispatcherTransport --------------------------------------------------------- 440 // DispatcherTransport ---------------------------------------------------------
441 441
442 void DispatcherTransport::End() { 442 void DispatcherTransport::End() {
443 DCHECK(dispatcher_); 443 DCHECK(dispatcher_);
444 dispatcher_->lock_.Release(); 444 dispatcher_->lock_.Release();
445 dispatcher_ = NULL; 445 dispatcher_ = NULL;
446 } 446 }
447 447
448 } // namespace system 448 } // namespace system
449 } // namespace mojo 449 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/system/dispatcher.h ('k') | mojo/system/handle_table.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698