summaryrefslogtreecommitdiff
path: root/cpp/src/IcePack/Forward.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-09-17 22:04:17 +0000
committerMarc Laukien <marc@zeroc.com>2001-09-17 22:04:17 +0000
commit60f51d6688e98ed87d24e6e9d1f179ca5db8f07a (patch)
tree7c99579afb6e99ea7a76cc5e564db694bdc6d8aa /cpp/src/IcePack/Forward.cpp
parentfixes (diff)
downloadice-60f51d6688e98ed87d24e6e9d1f179ca5db8f07a.tar.bz2
ice-60f51d6688e98ed87d24e6e9d1f179ca5db8f07a.tar.xz
ice-60f51d6688e98ed87d24e6e9d1f179ca5db8f07a.zip
tons of fixes
Diffstat (limited to 'cpp/src/IcePack/Forward.cpp')
-rw-r--r--cpp/src/IcePack/Forward.cpp16
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
+}