blob: 6d3c096c8861fd0da1f64a4e884f1da7d5563d08 [file] [log] [blame]
// Copyright 2006-2008 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 "base/files/file_util.h"
#include <unistd.h>
#include "base/posix/eintr_wrapper.h"
namespace base {
bool ReadFromFD(int fd, char* buffer, size_t bytes) {
size_t total_read = 0;
while (total_read < bytes) {
ssize_t bytes_read =
HANDLE_EINTR(read(fd, buffer + total_read, bytes - total_read));
if (bytes_read <= 0) {
break;
}
total_read += bytes_read;
}
return total_read == bytes;
}
} // namespace base