1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "tools/android/forwarder2/common.h"
6
7#include <errno.h>
8#include <unistd.h>
9
10#include "base/logging.h"
11#include "base/posix/eintr_wrapper.h"
12#include "base/safe_strerror_posix.h"
13
14namespace forwarder2 {
15
16void PError(const char* msg) {
17  LOG(ERROR) << msg << ": " << safe_strerror(errno);
18}
19
20void CloseFD(int fd) {
21  const int errno_copy = errno;
22  if (IGNORE_EINTR(close(fd)) < 0) {
23    PError("close");
24    errno = errno_copy;
25  }
26}
27
28}  // namespace forwarder2
29