Merge "Add the Release function for TemporaryFiles"

This commit is contained in:
Tianjie Xu 2017-09-12 19:14:38 +00:00 committed by Gerrit Code Review
commit e9b3a75e6f
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);