summaryrefslogtreecommitdiff
path: root/base/test_utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'base/test_utils.cpp')
-rw-r--r--base/test_utils.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/base/test_utils.cpp b/base/test_utils.cpp
index 636477d362..1cfa9e66fe 100644
--- a/base/test_utils.cpp
+++ b/base/test_utils.cpp
@@ -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);