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

Commit 2ff3196f authored by Yabin Cui's avatar Yabin Cui Committed by android-build-merger
Browse files

Merge "base: Add TemporaryFile::DoNotRemove()." am: 04bf0237

am: 8e7844d6

Change-Id: Iaec0312075a7b9c5dbed490271ab5183e3e163d5
parents 57589be5 8e7844d6
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -31,6 +31,8 @@ class TemporaryFile {
  // Release the ownership of fd, caller is reponsible for closing the
  // Release the ownership of fd, caller is reponsible for closing the
  // fd or stream properly.
  // fd or stream properly.
  int release();
  int release();
  // Don't remove the temporary file in the destructor.
  void DoNotRemove() { remove_file_ = false; }


  int fd;
  int fd;
  char path[1024];
  char path[1024];
@@ -38,6 +40,8 @@ class TemporaryFile {
 private:
 private:
  void init(const std::string& tmp_dir);
  void init(const std::string& tmp_dir);


  bool remove_file_ = true;

  DISALLOW_COPY_AND_ASSIGN(TemporaryFile);
  DISALLOW_COPY_AND_ASSIGN(TemporaryFile);
};
};


+3 −1
Original line number Original line Diff line number Diff line
@@ -92,8 +92,10 @@ TemporaryFile::~TemporaryFile() {
  if (fd != -1) {
  if (fd != -1) {
    close(fd);
    close(fd);
  }
  }
  if (remove_file_) {
    unlink(path);
    unlink(path);
  }
  }
}


int TemporaryFile::release() {
int TemporaryFile::release() {
  int result = fd;
  int result = fd;