diff options
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r-- | cpp/src/Slice/JavaUtil.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp index 725e5e60268..e4ee4d6c392 100644 --- a/cpp/src/Slice/JavaUtil.cpp +++ b/cpp/src/Slice/JavaUtil.cpp @@ -223,6 +223,12 @@ Slice::JavaGenerator::JavaGenerator(const string& dir, Slice::FeatureProfile pro Slice::JavaGenerator::~JavaGenerator() { + // If open throws an exception other generators could be left open + // during the stack unwind. + if(_out != 0) + { + close(); + } assert(_out == 0); } |