summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionMonitor.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2005-10-26 03:39:40 +0000
committerMatthew Newhook <matthew@zeroc.com>2005-10-26 03:39:40 +0000
commit4935322e70ff6cf550a6ec59df27e674e4d48dc5 (patch)
treebd5291472e140b618c9e8f26ca259a4dab836622 /cpp/src/Ice/ConnectionMonitor.cpp
parentsync ConnectionMonitor with C++ (diff)
downloadice-4935322e70ff6cf550a6ec59df27e674e4d48dc5.tar.bz2
ice-4935322e70ff6cf550a6ec59df27e674e4d48dc5.tar.xz
ice-4935322e70ff6cf550a6ec59df27e674e4d48dc5.zip
sync ConnectionMonitor with java/C#
Diffstat (limited to 'cpp/src/Ice/ConnectionMonitor.cpp')
-rw-r--r--cpp/src/Ice/ConnectionMonitor.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/cpp/src/Ice/ConnectionMonitor.cpp b/cpp/src/Ice/ConnectionMonitor.cpp
index bc928bada5d..6b868555bcc 100644
--- a/cpp/src/Ice/ConnectionMonitor.cpp
+++ b/cpp/src/Ice/ConnectionMonitor.cpp
@@ -27,7 +27,6 @@ IceInternal::ConnectionMonitor::destroy()
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
assert(_instance);
-
_instance = 0;
_connections.clear();
@@ -55,9 +54,9 @@ IceInternal::ConnectionMonitor::remove(const ConnectionIPtr& connection)
IceInternal::ConnectionMonitor::ConnectionMonitor(const InstancePtr& instance, int interval) :
_instance(instance),
- _interval(interval)
+ _interval(IceUtil::Time::seconds(interval))
{
- assert(_interval > 0);
+ assert(interval > 0);
start();
}
@@ -70,25 +69,17 @@ IceInternal::ConnectionMonitor::~ConnectionMonitor()
void
IceInternal::ConnectionMonitor::run()
{
- IceUtil::Time waitTime = IceUtil::Time::seconds(_interval);
-
while(true)
{
set<ConnectionIPtr> connections;
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
-
- if(!_instance)
- {
- return;
- }
-
- if(!timedWait(waitTime))
+ if(_instance && !timedWait(_interval))
{
connections = _connections;
}
-
+
if(!_instance)
{
return;
@@ -108,7 +99,6 @@ IceInternal::ConnectionMonitor::run()
catch(const Exception& ex)
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
-
if(!_instance)
{
return;
@@ -120,7 +110,6 @@ IceInternal::ConnectionMonitor::run()
catch(...)
{
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
-
if(!_instance)
{
return;