// 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
|