diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/demo/Freeze/casino/BankI.cpp | 2 | ||||
-rw-r--r-- | cpp/demo/Freeze/casino/BetResolver.cpp | 3 | ||||
-rw-r--r-- | cpp/demo/IceGrid/allocate/Server.cpp | 2 | ||||
-rw-r--r-- | cpp/demo/IceGrid/replication/Server.cpp | 2 | ||||
-rw-r--r-- | cpp/demo/IceGrid/sessionActivation/Server.cpp | 2 | ||||
-rw-r--r-- | cpp/demo/IceGrid/simple/Server.cpp | 2 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorBuilder.cpp | 7 | ||||
-rw-r--r-- | cpp/src/IceGrid/ServerI.cpp | 7 | ||||
-rwxr-xr-x | cpp/src/IceUtil/Timer.cpp | 3 | ||||
-rw-r--r-- | cpp/test/IceGrid/replicaGroup/application.xml | 10 | ||||
-rw-r--r-- | cpp/test/IceUtil/timer/Client.cpp | 10 |
11 files changed, 27 insertions, 23 deletions
diff --git a/cpp/demo/Freeze/casino/BankI.cpp b/cpp/demo/Freeze/casino/BankI.cpp index 0050b844278..e42cde83177 100644 --- a/cpp/demo/Freeze/casino/BankI.cpp +++ b/cpp/demo/Freeze/casino/BankI.cpp @@ -109,7 +109,7 @@ BankI::createBet(int amount, int lifetime, const Ice::Current&) Ice::Identity ident = { IceUtil::generateUUID(), "bet" }; #endif - Ice::Long closeTime = IceUtil::Time::now(IceUtil::Time::Monotonic).toMilliSeconds() + lifetime; + Ice::Long closeTime = IceUtil::Time::now().toMilliSeconds() + lifetime; outstandingChips += amount; Ice::ObjectPtr betI = new BetI(amount, closeTime, _prx, _betEvictor, _bankEdge); diff --git a/cpp/demo/Freeze/casino/BetResolver.cpp b/cpp/demo/Freeze/casino/BetResolver.cpp index 637df3ee66d..642164de96d 100644 --- a/cpp/demo/Freeze/casino/BetResolver.cpp +++ b/cpp/demo/Freeze/casino/BetResolver.cpp @@ -68,7 +68,8 @@ BetResolver::add(const CasinoStore::PersistentBetPrx& bet, Ice::Long closeTime) }; - _timers[IceUtil::random(_timers.size())]->schedule(new Task(*this, bet), IceUtil::Time::milliSeconds(closeTime)); + IceUtil::Time timeLeft = IceUtil::Time::milliSeconds(closeTime) - IceUtil::Time::now(); + _timers[IceUtil::random(_timers.size())]->schedule(new Task(*this, bet), timeLeft); IceUtil::Mutex::Lock sync(_mutex); _betCount++; diff --git a/cpp/demo/IceGrid/allocate/Server.cpp b/cpp/demo/IceGrid/allocate/Server.cpp index a2a578e2b5e..e18c25aa933 100644 --- a/cpp/demo/IceGrid/allocate/Server.cpp +++ b/cpp/demo/IceGrid/allocate/Server.cpp @@ -40,7 +40,7 @@ Server::run(int argc, char* argv[]) Ice::PropertiesPtr properties = communicator()->getProperties(); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello"); Ice::Identity id = communicator()->stringToIdentity(properties->getProperty("Identity")); - adapter->add(new HelloI(properties->getProperty("Ice.ServerId")), id); + adapter->add(new HelloI(properties->getProperty("Ice.ProgramName")), id); adapter->activate(); communicator()->waitForShutdown(); return EXIT_SUCCESS; diff --git a/cpp/demo/IceGrid/replication/Server.cpp b/cpp/demo/IceGrid/replication/Server.cpp index a2a578e2b5e..e18c25aa933 100644 --- a/cpp/demo/IceGrid/replication/Server.cpp +++ b/cpp/demo/IceGrid/replication/Server.cpp @@ -40,7 +40,7 @@ Server::run(int argc, char* argv[]) Ice::PropertiesPtr properties = communicator()->getProperties(); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello"); Ice::Identity id = communicator()->stringToIdentity(properties->getProperty("Identity")); - adapter->add(new HelloI(properties->getProperty("Ice.ServerId")), id); + adapter->add(new HelloI(properties->getProperty("Ice.ProgramName")), id); adapter->activate(); communicator()->waitForShutdown(); return EXIT_SUCCESS; diff --git a/cpp/demo/IceGrid/sessionActivation/Server.cpp b/cpp/demo/IceGrid/sessionActivation/Server.cpp index a2a578e2b5e..e18c25aa933 100644 --- a/cpp/demo/IceGrid/sessionActivation/Server.cpp +++ b/cpp/demo/IceGrid/sessionActivation/Server.cpp @@ -40,7 +40,7 @@ Server::run(int argc, char* argv[]) Ice::PropertiesPtr properties = communicator()->getProperties(); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello"); Ice::Identity id = communicator()->stringToIdentity(properties->getProperty("Identity")); - adapter->add(new HelloI(properties->getProperty("Ice.ServerId")), id); + adapter->add(new HelloI(properties->getProperty("Ice.ProgramName")), id); adapter->activate(); communicator()->waitForShutdown(); return EXIT_SUCCESS; diff --git a/cpp/demo/IceGrid/simple/Server.cpp b/cpp/demo/IceGrid/simple/Server.cpp index d057cef9c68..cc865e3a52b 100644 --- a/cpp/demo/IceGrid/simple/Server.cpp +++ b/cpp/demo/IceGrid/simple/Server.cpp @@ -47,7 +47,7 @@ Server::run(int argc, char* argv[]) Ice::PropertiesPtr properties = communicator()->getProperties(); Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("Hello"); Ice::Identity id = communicator()->stringToIdentity(properties->getProperty("Identity")); - adapter->add(new HelloI(properties->getProperty("Ice.ServerId")), id); + adapter->add(new HelloI(properties->getProperty("Ice.ProgramName")), id); adapter->activate(); communicator()->waitForShutdown(); return EXIT_SUCCESS; diff --git a/cpp/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp index d105b3c3090..e030ada78f1 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.cpp +++ b/cpp/src/IceGrid/DescriptorBuilder.cpp @@ -956,12 +956,7 @@ IceBoxDescriptorBuilder::createServiceInstance(const XmlAttributesHelper& attrs) void IceBoxDescriptorBuilder::addAdapter(const XmlAttributesHelper& attrs) { - if(attrs("name") != "IceBox.ServiceManager") - { - throw "<adapter> element can't be a child of an <icebox> element"; - } - - ServerDescriptorBuilder::addAdapter(attrs); + throw "<adapter> element can't be a child of an <icebox> element"; } void diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp index 072c76d30ad..f7dcfa7ea67 100644 --- a/cpp/src/IceGrid/ServerI.cpp +++ b/cpp/src/IceGrid/ServerI.cpp @@ -346,7 +346,7 @@ void TimedServerCommand::startTimer() { _timerTask = new CommandTimeoutTimerTask(this); - _timer->schedule(_timerTask, IceUtil::Time::now(IceUtil::Time::Monotonic) + IceUtil::Time::seconds(_timeout)); + _timer->schedule(_timerTask, IceUtil::Time::seconds(_timeout)); } void @@ -2505,8 +2505,7 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) if(_activation == Always) { _timerTask = new DelayedStart(this, _node->getTraceLevels()); - _node->getTimer()->schedule(_timerTask, IceUtil::Time::now(IceUtil::Time::Monotonic) + - IceUtil::Time::milliSeconds(500)); + _node->getTimer()->schedule(_timerTask, IceUtil::Time::milliSeconds(500)); } else if(_activation == Disabled && _disableOnFailure > 0 && _failureTime != IceUtil::Time()) { @@ -2518,7 +2517,7 @@ ServerI::setStateNoSync(InternalServerState st, const std::string& reason) // callback is executed. // _timerTask = new DelayedStart(this, _node->getTraceLevels()); - _node->getTimer()->schedule(_timerTask, IceUtil::Time::now(IceUtil::Time::Monotonic) + + _node->getTimer()->schedule(_timerTask, IceUtil::Time::seconds(_disableOnFailure) + IceUtil::Time::milliSeconds(500)); } } diff --git a/cpp/src/IceUtil/Timer.cpp b/cpp/src/IceUtil/Timer.cpp index adca267c58e..9b6fba19a16 100755 --- a/cpp/src/IceUtil/Timer.cpp +++ b/cpp/src/IceUtil/Timer.cpp @@ -42,7 +42,7 @@ Timer::destroy() } void -Timer::schedule(const TimerTaskPtr& task, const IceUtil::Time& time) +Timer::schedule(const TimerTaskPtr& task, const IceUtil::Time& delay) { IceUtil::Monitor<IceUtil::Mutex>::Lock sync(_monitor); if(_destroyed) @@ -50,6 +50,7 @@ Timer::schedule(const TimerTaskPtr& task, const IceUtil::Time& time) return; } + IceUtil::Time time = IceUtil::Time::now(IceUtil::Time::Monotonic) + delay; bool inserted = _tasks.insert(make_pair(task, time)).second; if(!inserted) { diff --git a/cpp/test/IceGrid/replicaGroup/application.xml b/cpp/test/IceGrid/replicaGroup/application.xml index ab33d88b2f1..1c7883d0601 100644 --- a/cpp/test/IceGrid/replicaGroup/application.xml +++ b/cpp/test/IceGrid/replicaGroup/application.xml @@ -52,7 +52,7 @@ <parameter name="priority"/> <service name="${name}" entry="TestService:create"> <adapter name="${service}" endpoints="default" - replica-group="${replicaGroup}" priority="${priority}" server-lifetime="false"> + replica-group="${replicaGroup}" priority="${priority}" server-lifetime="false"> <object identity="${service}"/> </adapter> <property name="Identity" value="${replicaGroup}"/> @@ -66,6 +66,14 @@ <service-instance template="Service" name="Service1" replicaGroup="${replicaGroup}" priority="3"/> <service-instance template="Service" name="Service2" replicaGroup="${replicaGroup}" priority="2"/> <service-instance template="Service" name="Service3" replicaGroup="${replicaGroup}" priority="1"/> + + <!-- Dummy service with server lifetime adapter to ensure all + the services are started when the server is marked as + Active --> + <service name="Dummy" entry="TestService:create"> + <adapter name="${service}" endpoints="default" server-lifetime="true"/> + <property name="Identity" value="dummy"/> + </service> </icebox> </server-template> diff --git a/cpp/test/IceUtil/timer/Client.cpp b/cpp/test/IceUtil/timer/Client.cpp index 7821b71699a..04e7ff64b58 100644 --- a/cpp/test/IceUtil/timer/Client.cpp +++ b/cpp/test/IceUtil/timer/Client.cpp @@ -99,14 +99,14 @@ int main(int argc, char* argv[]) { TestTaskPtr task = new TestTask(); - timer->schedule(task, IceUtil::Time::now(IceUtil::Time::Monotonic)); + timer->schedule(task, IceUtil::Time()); task->waitForRun(); while(true) { - timer->schedule(task, IceUtil::Time::now(IceUtil::Time::Monotonic)); + timer->schedule(task, IceUtil::Time::milliSeconds(-10)); try { - timer->schedule(task, IceUtil::Time::now(IceUtil::Time::Monotonic)); + timer->schedule(task, IceUtil::Time()); test(task->hasRun()); } catch(const IceUtil::IllegalArgumentException&) @@ -120,7 +120,7 @@ int main(int argc, char* argv[]) { TestTaskPtr task = new TestTask(); test(!timer->cancel(task)); - timer->schedule(task, IceUtil::Time::now(IceUtil::Time::Monotonic) + IceUtil::Time::seconds(1)); + timer->schedule(task, IceUtil::Time::seconds(1)); test(!task->hasRun() && timer->cancel(task) && !task->hasRun()); test(!timer->cancel(task)); IceUtil::ThreadControl::sleep(IceUtil::Time::milliSeconds(1100)); @@ -132,7 +132,7 @@ int main(int argc, char* argv[]) IceUtil::Time start = IceUtil::Time::now(IceUtil::Time::Monotonic) + IceUtil::Time::milliSeconds(100); for(int i = 0; i < 100; ++i) { - tasks.push_back(new TestTask(start + IceUtil::Time::milliSeconds(i))); + tasks.push_back(new TestTask(IceUtil::Time::milliSeconds(100 + i))); } random_shuffle(tasks.begin(), tasks.end()); |