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

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

Merge "Implement unique_fd.ok()" am: c9ec9527 am: 90fec0a0 am: cefafca6 am: 7e39207d

am: ed710366

Change-Id: I3db18d1b4a8fbc032b8d66a1fabd7be04a8dd25b
parents f4f6124a ed710366
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>;