diff options
Diffstat (limited to 'cpp/src/Ice/DynamicLibrary.cpp')
-rw-r--r-- | cpp/src/Ice/DynamicLibrary.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/Ice/DynamicLibrary.cpp b/cpp/src/Ice/DynamicLibrary.cpp index f69cf0c133b..0899c938142 100644 --- a/cpp/src/Ice/DynamicLibrary.cpp +++ b/cpp/src/Ice/DynamicLibrary.cpp @@ -36,6 +36,12 @@ IceInternal::DynamicLibrary::DynamicLibrary() IceInternal::DynamicLibrary::~DynamicLibrary() { + /* + * Closing the library here can cause a crash at program exit if + * the application holds references to library resources in global + * or static variables. Instead, we let the process discard the + * library. + * if(_hnd != 0) { #ifdef _WIN32 @@ -44,6 +50,7 @@ IceInternal::DynamicLibrary::~DynamicLibrary() dlclose(_hnd); #endif } + */ } IceInternal::DynamicLibrary::symbol_type |