Merge "Add the Release function for TemporaryFiles"

am: e9b3a75e6f

Change-Id: Ia655253f41d4f1ea737e9e968c373a214d38f26f
This commit is contained in:
Tianjie Xu 2017-09-12 19:47:21 +00:00 committed by android-build-merger
commit e670852a5f
2 changed files with 13 additions and 1 deletions

View file

@ -26,6 +26,10 @@ class TemporaryFile {
TemporaryFile();
~TemporaryFile();
// Release the ownership of fd, caller is reponsible for closing the
// fd or stream properly.
int release();
int fd;
char path[1024];

View file

@ -85,10 +85,18 @@ TemporaryFile::TemporaryFile() {
}
TemporaryFile::~TemporaryFile() {
close(fd);
if (fd != -1) {
close(fd);
}
unlink(path);
}
int TemporaryFile::release() {
int result = fd;
fd = -1;
return result;
}
void TemporaryFile::init(const std::string& tmp_dir) {
snprintf(path, sizeof(path), "%s%cTemporaryFile-XXXXXX", tmp_dir.c_str(),
OS_PATH_SEPARATOR);