# HG changeset patch # User Chris Cannam # Date 1232475070 0 # Node ID 38b1ddf18d4b9c69167c407072df23c143e6dcc4 # Parent 1d3fc01edc033c00afec830f5bd71bbc9682d6d4 * Try to avoid leaving output files open after completion diff -r 1d3fc01edc03 -r 38b1ddf18d4b transform/FileFeatureWriter.cpp --- a/transform/FileFeatureWriter.cpp Tue Jan 20 18:10:56 2009 +0000 +++ b/transform/FileFeatureWriter.cpp Tue Jan 20 18:11:10 2009 +0000 @@ -285,3 +285,23 @@ } } + +void +FileFeatureWriter::finish() +{ + cerr << "FileFeatureWriter::finish()" << endl; + + if (m_singleFileName != "" || m_stdout) return; + + while (!m_streams.empty()) { + m_streams.begin()->second->flush(); + delete m_streams.begin()->second; + m_streams.erase(m_streams.begin()); + } + while (!m_files.empty()) { + delete m_files.begin()->second; + m_files.erase(m_files.begin()); + } + m_prevstream = 0; +} + diff -r 1d3fc01edc03 -r 38b1ddf18d4b transform/FileFeatureWriter.h --- a/transform/FileFeatureWriter.h Tue Jan 20 18:10:56 2009 +0000 +++ b/transform/FileFeatureWriter.h Tue Jan 20 18:11:10 2009 +0000 @@ -43,6 +43,7 @@ virtual void setParameters(map ¶ms); virtual void flush(); + virtual void finish(); protected: enum FileWriteSupport {