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

Commit cefafca6 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by android-build-merger
Browse files

Merge "Implement unique_fd.ok()" am: c9ec9527

am: 90fec0a0

Change-Id: Ibdce3680a5b5554fdceda1cd585ef2c5c775572c
parents 18c64a08 90fec0a0
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -92,6 +92,8 @@ class unique_fd_impl final {
  explicit unique_fd_impl(int fd) { reset(fd); }
  explicit unique_fd_impl(int fd) { reset(fd); }
  ~unique_fd_impl() { reset(); }
  ~unique_fd_impl() { reset(); }


  unique_fd_impl(const unique_fd_impl&) = delete;
  void operator=(const unique_fd_impl&) = delete;
  unique_fd_impl(unique_fd_impl&& other) noexcept { reset(other.release()); }
  unique_fd_impl(unique_fd_impl&& other) noexcept { reset(other.release()); }
  unique_fd_impl& operator=(unique_fd_impl&& s) noexcept {
  unique_fd_impl& operator=(unique_fd_impl&& s) noexcept {
    int fd = s.fd_;
    int fd = s.fd_;
@@ -118,6 +120,8 @@ class unique_fd_impl final {
  // Catch bogus error checks (i.e.: "!fd" instead of "fd != -1").
  // Catch bogus error checks (i.e.: "!fd" instead of "fd != -1").
  bool operator!() const = delete;
  bool operator!() const = delete;


  bool ok() const { return get() != -1; }

  int release() __attribute__((warn_unused_result)) {
  int release() __attribute__((warn_unused_result)) {
    tag(fd_, this, nullptr);
    tag(fd_, this, nullptr);
    int ret = fd_;
    int ret = fd_;
@@ -167,9 +171,6 @@ class unique_fd_impl final {
  static auto close(int fd, void*) -> decltype(T::Close(fd), void()) {
  static auto close(int fd, void*) -> decltype(T::Close(fd), void()) {
    T::Close(fd);
    T::Close(fd);
  }
  }

  unique_fd_impl(const unique_fd_impl&);
  void operator=(const unique_fd_impl&);
};
};


using unique_fd = unique_fd_impl<DefaultCloser>;
using unique_fd = unique_fd_impl<DefaultCloser>;