// Copyright 2013 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/embedder/platform_handle.h" #include "build/build_config.h" #if defined(OS_POSIX) #include <unistd.h> #elif defined(OS_WIN) #include <windows.h> #else #error "Platform not yet supported." #endif #include "base/compiler_specific.h" #include "base/logging.h" namespace mojo { namespace embedder { void PlatformHandle::CloseIfNecessary() { if (!is_valid()) return; #if defined(OS_POSIX) bool success = (close(fd) == 0); DPCHECK(success); fd = -1; #elif defined(OS_WIN) bool success = !!CloseHandle(handle); DPCHECK(success); handle = INVALID_HANDLE_VALUE; #else #error "Platform not yet supported." #endif } } // namespace embedder } // namespace mojo