diff --git a/core-buffer/include/FastH5Writer.hpp b/core-buffer/include/FastH5Writer.hpp index a34136c..7f8e31b 100644 --- a/core-buffer/include/FastH5Writer.hpp +++ b/core-buffer/include/FastH5Writer.hpp @@ -32,7 +32,7 @@ class FastH5Writer { std::unordered_map scalar_metadata_; void create_file(const std::string& filename); - void close_file(); + void flush_metadata(); @@ -55,6 +55,7 @@ public: const void* value, const size_t value_n_bytes); + void close_file(); }; diff --git a/core-buffer/src/FastH5Writer.cpp b/core-buffer/src/FastH5Writer.cpp index 8fdf769..a8090bf 100644 --- a/core-buffer/src/FastH5Writer.cpp +++ b/core-buffer/src/FastH5Writer.cpp @@ -75,6 +75,8 @@ void FastH5Writer::create_file(const string& filename) void FastH5Writer::close_file() { + flush_metadata(); + current_output_filename_ = ""; current_output_file_.close(); current_image_dataset_.close(); @@ -100,7 +102,6 @@ void FastH5Writer::set_pulse_id(const uint64_t pulse_id) if (new_output_filename != current_output_filename_){ if (current_output_file_.getId() != -1) { - flush_metadata(); close_file(); }