diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-12-13 23:14:19 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-12-13 23:14:19 +0000 |
commit | 88068f53495c38104849bee7ae62a6a8bb88c211 (patch) | |
tree | 40f0939145115b3f0702521511aa6ff673f4e2ca /cpp/src/IcePack/IcePackNode.cpp | |
parent | Removed more spurious whitespace: (diff) | |
download | ice-88068f53495c38104849bee7ae62a6a8bb88c211.tar.bz2 ice-88068f53495c38104849bee7ae62a6a8bb88c211.tar.xz ice-88068f53495c38104849bee7ae62a6a8bb88c211.zip |
Added wait queue to IcePack and use it to wait for adapter activation.
Diffstat (limited to 'cpp/src/IcePack/IcePackNode.cpp')
-rw-r--r-- | cpp/src/IcePack/IcePackNode.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/cpp/src/IcePack/IcePackNode.cpp b/cpp/src/IcePack/IcePackNode.cpp index 61f67ac47c9..90d4ac25bd9 100644 --- a/cpp/src/IcePack/IcePackNode.cpp +++ b/cpp/src/IcePack/IcePackNode.cpp @@ -189,12 +189,18 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, const Free activator = new ActivatorI(traceLevels, properties); // + // Create the wait queue. + // + WaitQueuePtr waitQueue = new WaitQueue(); + waitQueue->start(); + + // // Creates the server factory. The server factory creates server // and server adapter persistent objects. It also takes care of // installing the evictors and object factory necessary to persist // and create these objects. // - ServerFactoryPtr serverFactory = new ServerFactory(adapter, traceLevels, dbEnv, activator); + ServerFactoryPtr serverFactory = new ServerFactory(adapter, traceLevels, dbEnv, activator, waitQueue); // // Create the node object and the node info. Because of circular @@ -306,6 +312,8 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, const Free activator->waitForShutdown(); ignoreInterrupt(); + waitQueue->destroy(); + activator->destroy(); // @@ -314,6 +322,8 @@ run(int argc, char* argv[], const Ice::CommunicatorPtr& communicator, const Free communicator->shutdown(); communicator->waitForShutdown(); + activator = 0; + return EXIT_SUCCESS; } |