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

Unified Diff: base/sync_socket_win.cc

Issue 525313002: SyncSocket Transit Descriptor - refactoring (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactor audio_output_device_unittest.cc Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698