summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r--cpp/src/Ice/ConnectionFactory.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp
index e8a4839eccd..744e261e3cd 100644
--- a/cpp/src/Ice/ConnectionFactory.cpp
+++ b/cpp/src/Ice/ConnectionFactory.cpp
@@ -128,6 +128,9 @@ find(const multimap<K,::IceInternal::Handle<V> >& m,
#endif
class StartAcceptor : public IceUtil::TimerTask
+#ifdef ICE_CPP11_MAPPING
+ , public std::enable_shared_from_this<StartAcceptor>
+#endif
{
public:
@@ -147,7 +150,7 @@ public:
{
Error out(_instance->initializationData().logger);
out << "acceptor creation failed:\n" << ex << '\n' << _factory->toString();
- _instance->timer()->schedule(this, IceUtil::Time::seconds(1));
+ _instance->timer()->schedule(ICE_SHARED_FROM_THIS, IceUtil::Time::seconds(1));
}
}