Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c5d1d7c authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Add operator int() to unique_fd.

Change-Id: I7512559be7befbb8772d5529e06550267a2f1543
parent 37613657
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ class unique_fd final {
  }

  int get() const { return value_; }
  operator int() const { return get(); }

  int release() __attribute__((warn_unused_result)) {
    int ret = value_;
+2 −2
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ namespace {
// the value of the record.
bool CreateEmptyBootEventRecord(const std::string& record_path, int32_t value) {
  android::base::unique_fd record_fd(creat(record_path.c_str(), S_IRUSR | S_IWUSR));
  if (record_fd.get() == -1) {
  if (record_fd == -1) {
    return false;
  }

@@ -49,7 +49,7 @@ bool CreateEmptyBootEventRecord(const std::string& record_path, int32_t value) {
  // ensure the validity of the file mtime value, i.e., to check that the record
  // file mtime values are not changed once set.
  // TODO(jhawkins): Remove this block.
  if (!android::base::WriteStringToFd(std::to_string(value), record_fd.get())) {
  if (!android::base::WriteStringToFd(std::to_string(value), record_fd)) {
    return false;
  }

+2 −3
Original line number Diff line number Diff line
@@ -30,11 +30,10 @@
bool ProcessMappings(pid_t pid, allocator::vector<Mapping>& mappings) {
  char map_buffer[1024];
  snprintf(map_buffer, sizeof(map_buffer), "/proc/%d/maps", pid);
  int fd = open(map_buffer, O_RDONLY);
  if (fd < 0) {
  android::base::unique_fd fd(open(map_buffer, O_RDONLY));
  if (fd == -1) {
    return false;
  }
  android::base::unique_fd fd_guard{fd};

  LineBuffer line_buf(fd, map_buffer, sizeof(map_buffer));
  char* line;
+3 −4
Original line number Diff line number Diff line
@@ -108,12 +108,11 @@ bool ThreadCaptureImpl::ListThreads(TidList& tids) {
  strlcat(path, pid_str, sizeof(path));
  strlcat(path, "/task", sizeof(path));

  int fd = open(path, O_CLOEXEC | O_DIRECTORY | O_RDONLY);
  if (fd < 0) {
  android::base::unique_fd fd(open(path, O_CLOEXEC | O_DIRECTORY | O_RDONLY));
  if (fd == -1) {
    ALOGE("failed to open %s: %s", path, strerror(errno));
    return false;
  }
  android::base::unique_fd fd_guard{fd};

  struct linux_dirent64 {
    uint64_t  d_ino;
@@ -125,7 +124,7 @@ bool ThreadCaptureImpl::ListThreads(TidList& tids) {
  char dirent_buf[4096];
  ssize_t nread;
  do {
    nread = syscall(SYS_getdents64, fd, dirent_buf, sizeof(dirent_buf));
    nread = syscall(SYS_getdents64, fd.get(), dirent_buf, sizeof(dirent_buf));
    if (nread < 0) {
      ALOGE("failed to get directory entries from %s: %s", path, strerror(errno));
      return false;
+0 −2
Original line number Diff line number Diff line
@@ -28,8 +28,6 @@

#include <gtest/gtest.h>

#include <android-base/unique_fd.h>

#include "Allocator.h"
#include "ScopedDisableMalloc.h"
#include "ScopedPipe.h"