Index: mojo/edk/system/handle_table.cc |
diff --git a/mojo/edk/system/handle_table.cc b/mojo/edk/system/handle_table.cc |
index 7aeca64110919325494ec0b6bd7331a814e9699d..296cf795588baa4c19a74d146bf6c2195d20381b 100644 |
--- a/mojo/edk/system/handle_table.cc |
+++ b/mojo/edk/system/handle_table.cc |
@@ -74,7 +74,8 @@ MojoResult HandleTable::GetAndRemoveDispatcher( |
MojoResult HandleTable::BeginTransit( |
const MojoHandle* handles, |
uint32_t num_handles, |
- std::vector<Dispatcher::DispatcherInTransit>* dispatchers) { |
+ std::vector<Dispatcher::DispatcherInTransit>* dispatchers, |
+ Dispatcher::RequestContext* request_context) { |
dispatchers->clear(); |
dispatchers->reserve(num_handles); |
for (size_t i = 0; i < num_handles; ++i) { |
@@ -87,7 +88,7 @@ MojoResult HandleTable::BeginTransit( |
Dispatcher::DispatcherInTransit d; |
d.local_handle = handles[i]; |
d.dispatcher = it->second.dispatcher; |
- if (!d.dispatcher->BeginTransit()) |
+ if (!d.dispatcher->BeginTransit(request_context)) |
return MOJO_RESULT_BUSY; |
it->second.busy = true; |
dispatchers->push_back(d); |
@@ -96,22 +97,24 @@ MojoResult HandleTable::BeginTransit( |
} |
void HandleTable::CompleteTransitAndClose( |
- const std::vector<Dispatcher::DispatcherInTransit>& dispatchers) { |
+ const std::vector<Dispatcher::DispatcherInTransit>& dispatchers, |
+ Dispatcher::RequestContext* request_context) { |
for (const auto& dispatcher : dispatchers) { |
auto it = handles_.find(dispatcher.local_handle); |
DCHECK(it != handles_.end() && it->second.busy); |
handles_.erase(it); |
- dispatcher.dispatcher->CompleteTransitAndClose(); |
+ dispatcher.dispatcher->CompleteTransitAndClose(request_context); |
} |
} |
void HandleTable::CancelTransit( |
- const std::vector<Dispatcher::DispatcherInTransit>& dispatchers) { |
+ const std::vector<Dispatcher::DispatcherInTransit>& dispatchers, |
+ Dispatcher::RequestContext* request_context) { |
for (const auto& dispatcher : dispatchers) { |
auto it = handles_.find(dispatcher.local_handle); |
DCHECK(it != handles_.end() && it->second.busy); |
it->second.busy = false; |
- dispatcher.dispatcher->CancelTransit(); |
+ dispatcher.dispatcher->CancelTransit(request_context); |
} |
} |