summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/demo/Freeze/casino/BankI.cpp2
-rw-r--r--cpp/demo/Freeze/casino/BetResolver.cpp3
-rw-r--r--cpp/demo/IceGrid/allocate/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/replication/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/sessionActivation/Server.cpp2
-rw-r--r--cpp/demo/IceGrid/simple/Server.cpp2
-rw-r--r--cpp/src/IceGrid/DescriptorBuilder.cpp7
-rw-r--r--cpp/src/IceGrid/ServerI.cpp7
-rwxr-xr-xcpp/src/IceUtil/Timer.cpp3
-rw-r--r--cpp/test/IceGrid/replicaGroup/application.xml10
-rw-r--r--cpp/test/IceUtil/timer/Client.cpp10
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());