diff options
author | Mark Spruiell <mes@zeroc.com> | 2004-12-30 21:42:25 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2004-12-30 21:42:25 +0000 |
commit | df63c137524b4e0ca232a465d95ca134765d98a2 (patch) | |
tree | c2b00430005f441681b057fffaeffad92200fb3b /cpp/src | |
parent | Improved diagnostics for invalid metadata. (diff) | |
download | ice-df63c137524b4e0ca232a465d95ca134765d98a2.tar.bz2 ice-df63c137524b4e0ca232a465d95ca134765d98a2.tar.xz ice-df63c137524b4e0ca232a465d95ca134765d98a2.zip |
wait until acceptor is closed to prevent an assertion failure in
ThreadPool::destroy
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 0c9c531e009..1c3f8e53766 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -538,13 +538,14 @@ IceInternal::IncomingConnectionFactory::waitUntilFinished() IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this); // - // First we wait until the factory is destroyed. + // First we wait until the factory is destroyed. If we are using + // an acceptor, we also wait for it to be closed. // - while(_state != StateClosed) + while(_state != StateClosed || _acceptor) { wait(); } - + threadPerIncomingConnectionFactory = _threadPerIncomingConnectionFactory; _threadPerIncomingConnectionFactory = 0; |