Index: base/sync_socket_win.cc |
diff --git a/base/sync_socket_win.cc b/base/sync_socket_win.cc |
index 26e76ec2738e6629fbf4b0c41cc61ac0b7e7d6ec..f1f2445376f60f18c0634cd114da7cb579c24bfe 100644 |
--- a/base/sync_socket_win.cc |
+++ b/base/sync_socket_win.cc |
@@ -207,6 +207,21 @@ bool SyncSocket::CreatePair(SyncSocket* socket_a, SyncSocket* socket_b) { |
return CreatePairImpl(&socket_a->handle_, &socket_b->handle_, false); |
} |
+// static |
+SyncSocket::Handle SyncSocket::UnwrapHandle( |
+ const SyncSocket::TransitDescriptor& descriptor) { |
+ return static_cast<SyncSocket::Handle>(descriptor); |
tommi (sloooow) - chröme
2014/09/04 11:34:10
nit: "SyncSocket::" necessary?
burnik
2014/09/04 12:24:44
Guess not. Although rest of the code looks kind of
tommi (sloooow) - chröme
2014/09/04 17:02:25
The rest of the code only uses it outside the scop
burnik
2014/09/04 18:04:07
Done.
|
+} |
+ |
+bool SyncSocket::PrepareTransitDescriptor( |
+ ProcessHandle peer_process_handle, |
+ SyncSocket::TransitDescriptor* descriptor) { |
+ // |TransitDescriptor| on Windows is the |Handle| itself. |
+ ::DuplicateHandle(GetCurrentProcess(), handle(), peer_process_handle, |
tommi (sloooow) - chröme
2014/09/04 11:34:10
I'd like to check the return value of this call an
burnik
2014/09/04 12:24:44
Done.
|
+ descriptor, 0, FALSE, DUPLICATE_SAME_ACCESS); |
+ return (*descriptor != 0); |
tommi (sloooow) - chröme
2014/09/04 11:34:10
If the caller does this:
SyncSocket::TransitDescr
burnik
2014/09/04 12:24:44
Yes, good point since this is on the stack.
On 201
|
+} |
+ |
bool SyncSocket::Close() { |
if (handle_ == kInvalidHandle) |
return true; |