diff options
Diffstat (limited to 'cpp/src/IcePack/Forward.cpp')
-rw-r--r-- | cpp/src/IcePack/Forward.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/cpp/src/IcePack/Forward.cpp b/cpp/src/IcePack/Forward.cpp index 6f35d679ef1..4cc4669d356 100644 --- a/cpp/src/IcePack/Forward.cpp +++ b/cpp/src/IcePack/Forward.cpp @@ -46,9 +46,6 @@ IcePack::Forward::Forward(const CommunicatorPtr& communicator, const AdminPtr& a IcePack::Forward::~Forward() { -#ifndef WIN32 - _activator->destroy(); -#endif } ObjectPtr @@ -69,6 +66,9 @@ IcePack::Forward::locate(const ObjectAdapterPtr& adapter, const string& identity } #ifndef WIN32 + + assert(_activator); + // // We only try to activate if we have a path for the server // @@ -153,6 +153,7 @@ IcePack::Forward::locate(const ObjectAdapterPtr& adapter, const string& identity _communicator->getLogger()->error(s.str()); } } + #endif throw LocationForward(desc.object); @@ -163,3 +164,12 @@ IcePack::Forward::finished(const ObjectAdapterPtr&, const string&, const ObjectP { // Nothing to do } + +void +IcePack::Forward::deactivate() +{ +#ifndef WIN32 + _activator->destroy(); + _activator = 0; +#endif +} |