summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/IceGrid/ServerI.cpp28
-rw-r--r--cpp/src/IceGrid/ServerI.h1
2 files changed, 5 insertions, 24 deletions
diff --git a/cpp/src/IceGrid/ServerI.cpp b/cpp/src/IceGrid/ServerI.cpp
index a4c13044d2e..e46e31ba5eb 100644
--- a/cpp/src/IceGrid/ServerI.cpp
+++ b/cpp/src/IceGrid/ServerI.cpp
@@ -1304,29 +1304,6 @@ ServerI::disableOnFailure()
}
void
-ServerI::enableAfterFailure(bool force)
-{
- if(_disableOnFailure == 0 || _failureTime == IceUtil::Time())
- {
- return;
- }
-
- if(force ||
- (_disableOnFailure > 0 &&
- (_failureTime + IceUtil::Time::seconds(_disableOnFailure) < IceUtil::Time::now(IceUtil::Time::Monotonic))))
- {
- _activation = _previousActivation;
- _failureTime = IceUtil::Time();
- }
-
- if(_timerTask)
- {
- _node->getTimer()->cancel(_timerTask);
- _timerTask = 0;
- }
-}
-
-void
ServerI::activationTimedOut()
{
ServerCommandPtr command;
@@ -1771,6 +1748,7 @@ ServerI::update()
}
InternalServerDescriptorPtr oldDescriptor = _desc;
+ bool disabled = oldDescriptor && _activation == Disabled;
try
{
if(_load->clearDir())
@@ -1863,6 +1841,10 @@ ServerI::update()
_load->failed(ex);
}
+ if(oldDescriptor && disabled != (_activation == Disabled))
+ {
+ _node->observerUpdateServer(getDynamicInfo());
+ }
setStateNoSync(Inactive);
command = nextCommand();
}
diff --git a/cpp/src/IceGrid/ServerI.h b/cpp/src/IceGrid/ServerI.h
index 6168da58729..d1bbd27bcfe 100644
--- a/cpp/src/IceGrid/ServerI.h
+++ b/cpp/src/IceGrid/ServerI.h
@@ -124,7 +124,6 @@ private:
bool checkActivation();
void checkDestroyed() const;
void disableOnFailure();
- void enableAfterFailure(bool);
void setState(InternalServerState, const std::string& = std::string());
ServerCommandPtr nextCommand();