summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Instance.h
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2014-10-29 16:16:50 +0100
committerBenoit Foucher <benoit@zeroc.com>2014-10-29 16:16:50 +0100
commitcdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73 (patch)
tree6174a4c924695b7e6de1ba83d556872376a9808d /cpp/src/Ice/Instance.h
parentPrevent proguard task from being run every time you build (diff)
downloadice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.tar.bz2
ice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.tar.xz
ice-cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73.zip
Fixed ICE-5786: fixed Ice communicator destroy to be thread safe
Diffstat (limited to 'cpp/src/Ice/Instance.h')
-rw-r--r--cpp/src/Ice/Instance.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/Ice/Instance.h b/cpp/src/Ice/Instance.h
index 4a41a6b8773..c008d278f2e 100644
--- a/cpp/src/Ice/Instance.h
+++ b/cpp/src/Ice/Instance.h
@@ -63,7 +63,7 @@ typedef IceUtil::Handle<MetricsAdminI> MetricsAdminIPtr;
class RequestHandlerFactory;
typedef IceUtil::Handle<RequestHandlerFactory> RequestHandlerFactoryPtr;
-class Instance : public IceUtil::Shared, public IceUtil::RecMutex
+class Instance : public IceUtil::Shared, public IceUtil::Monitor<IceUtil::RecMutex>
{
public:
@@ -83,7 +83,7 @@ public:
bool preferIPv6() const;
NetworkProxyPtr networkProxy() const;
ThreadPoolPtr clientThreadPool();
- ThreadPoolPtr serverThreadPool(bool create = true);
+ ThreadPoolPtr serverThreadPool();
EndpointHostResolverPtr endpointHostResolver();
RetryQueuePtr retryQueue();
IceUtil::TimerPtr timer();
@@ -136,6 +136,7 @@ private:
enum State
{
StateActive,
+ StateDestroyInProgress,
StateDestroyed
};
State _state;