diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-10-29 16:16:50 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-10-29 16:16:50 +0100 |
commit | cdd4f352f9a12e9f9e0f5d1f1eb195bbe1b19a73 (patch) | |
tree | 6174a4c924695b7e6de1ba83d556872376a9808d /cpp/src/Ice/Instance.h | |
parent | Prevent proguard task from being run every time you build (diff) | |
download | ice-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.h | 5 |
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; |