summaryrefslogtreecommitdiff
path: root/mojo/edk/embedder/platform_handle_utils_posix.cc
diff options
context:
space:
mode:
authorHidehiko Abe <hidehiko@google.com>2018-04-23 19:57:41 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-04-23 19:57:41 -0700
commit0ab20ac2283987e63b0e7c1318db2a5cf7c668d2 (patch)
treebd2d04362f66c36d4279f7a9735ba21ea3a2a021 /mojo/edk/embedder/platform_handle_utils_posix.cc
parente389a13ad8648d89ac670ca06f68c9b32976351c (diff)
parentb268b43ac6fdbc4f3a2ed1429b99ace424906090 (diff)
downloadlibchrome-0ab20ac2283987e63b0e7c1318db2a5cf7c668d2.tar.gz
Migrate libmojo repository into libchrome, part 2.
am: b268b43ac6 Change-Id: I7b2c3d7cfed03673c33eb497be20e238bd0aac33
Diffstat (limited to 'mojo/edk/embedder/platform_handle_utils_posix.cc')
-rw-r--r--mojo/edk/embedder/platform_handle_utils_posix.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/mojo/edk/embedder/platform_handle_utils_posix.cc b/mojo/edk/embedder/platform_handle_utils_posix.cc
new file mode 100644
index 0000000000..5604f96bf1
--- /dev/null
+++ b/mojo/edk/embedder/platform_handle_utils_posix.cc
@@ -0,0 +1,24 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "mojo/edk/embedder/platform_handle_utils.h"
+
+#include <unistd.h>
+
+#include "base/logging.h"
+
+namespace mojo {
+namespace edk {
+
+ScopedPlatformHandle DuplicatePlatformHandle(PlatformHandle platform_handle) {
+ DCHECK(platform_handle.is_valid());
+ // Note that |dup()| returns -1 on error (which is exactly the value we use
+ // for invalid |PlatformHandle| FDs).
+ PlatformHandle duped(dup(platform_handle.handle));
+ duped.needs_connection = platform_handle.needs_connection;
+ return ScopedPlatformHandle(duped);
+}
+
+} // namespace edk
+} // namespace mojo