aboutsummaryrefslogtreecommitdiff
path: root/src/client/minidump_file_writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/minidump_file_writer.cc')
-rw-r--r--src/client/minidump_file_writer.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/client/minidump_file_writer.cc b/src/client/minidump_file_writer.cc
index db304662..c2674103 100644
--- a/src/client/minidump_file_writer.cc
+++ b/src/client/minidump_file_writer.cc
@@ -48,11 +48,16 @@ namespace google_breakpad {
const MDRVA MinidumpFileWriter::kInvalidMDRVA = static_cast<MDRVA>(-1);
-MinidumpFileWriter::MinidumpFileWriter() : file_(-1), position_(0), size_(0) {
+MinidumpFileWriter::MinidumpFileWriter()
+ : file_(-1),
+ close_file_when_destroyed_(true),
+ position_(0),
+ size_(0) {
}
MinidumpFileWriter::~MinidumpFileWriter() {
- Close();
+ if (close_file_when_destroyed_)
+ Close();
}
bool MinidumpFileWriter::Open(const char *path) {
@@ -66,6 +71,12 @@ bool MinidumpFileWriter::Open(const char *path) {
return file_ != -1;
}
+void MinidumpFileWriter::SetFile(const int file) {
+ assert(file_ == -1);
+ file_ = file;
+ close_file_when_destroyed_ = false;
+}
+
bool MinidumpFileWriter::Close() {
bool result = true;