Index: sandbox/win/src/sharedmem_ipc_server.cc |
diff --git a/sandbox/win/src/sharedmem_ipc_server.cc b/sandbox/win/src/sharedmem_ipc_server.cc |
index 5ce7da5d581487269e2647d320ca2aabb0fded95..36a3abdf30304230f55be9e54f4cd8f3cf633e6f 100644 |
--- a/sandbox/win/src/sharedmem_ipc_server.cc |
+++ b/sandbox/win/src/sharedmem_ipc_server.cc |
@@ -21,14 +21,12 @@ namespace sandbox { |
SharedMemIPCServer::SharedMemIPCServer(HANDLE target_process, |
DWORD target_process_id, |
- HANDLE target_job, |
ThreadProvider* thread_provider, |
Dispatcher* dispatcher) |
: client_control_(NULL), |
thread_provider_(thread_provider), |
target_process_(target_process), |
target_process_id_(target_process_id), |
- target_job_object_(target_job), |
call_dispatcher_(dispatcher) { |
// We create a initially owned mutex. If the server dies unexpectedly, |
// the thread that owns it will fail to release the lock and windows will |
@@ -111,9 +109,11 @@ bool SharedMemIPCServer::Init(void* shared_mem, uint32 shared_size, |
client_context->channel_base = base_start; |
client_context->state = kFreeChannel; |
- // Note that some of these values are available as members of this |
- // object but we put them again into the service_context because we |
- // will be called on a static method (ThreadPingEventReady) |
+ // Note that some of these values are available as members of this object |
+ // but we put them again into the service_context because we will be called |
+ // on a static method (ThreadPingEventReady). In particular, target_process_ |
+ // is a raw handle that is not owned by this object (it's owned by the |
+ // owner of this object), and we are storing it in multiple places. |
service_context->shared_base = reinterpret_cast<char*>(shared_mem); |
service_context->channel_size = channel_size; |
service_context->channel = client_context; |
@@ -122,7 +122,6 @@ bool SharedMemIPCServer::Init(void* shared_mem, uint32 shared_size, |
service_context->dispatcher = call_dispatcher_; |
service_context->target_info.process = target_process_; |
service_context->target_info.process_id = target_process_id_; |
- service_context->target_info.job_object = target_job_object_; |
// Advance to the next channel. |
base_start += channel_size; |
// Register the ping event with the threadpool. |