blob: 5604f96bf14631fea0ae820a14d608782ce6c99b [file] [log] [blame]
// 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