diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/CHANGES | 4 | ||||
-rw-r--r-- | cpp/src/Ice/CommunicatorI.cpp | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index 8f664a807a6..74955bac17f 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -1,6 +1,10 @@ Changes since version 1.2.0 --------------------------- +- Fixed a bug that could cause a crash if an application used + Ice::Application and was interrupted by a signal, resulting + in two calls to Communicator::destroy(). + - Replaced interface Glacier::PasswordVerifier with Glacier::PermissionsVerifier, property Glacier.Starter.PasswordVerifier with diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp index f4fc8d20d3c..3ea9e32dd1c 100644 --- a/cpp/src/Ice/CommunicatorI.cpp +++ b/cpp/src/Ice/CommunicatorI.cpp @@ -100,7 +100,10 @@ Ice::CommunicatorI::destroy() { theCollector->stop(); } - theCollector->collectGarbage(); // Collect whenever a communicator is destroyed. + if(theCollector) + { + theCollector->collectGarbage(); // Collect whenever a communicator is destroyed. + } if(last) { if(gcTraceLevel) |