X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fsignalproxy.cpp;h=e7c641b4952460f1f7641e8cb1c75d099197befe;hp=b3410e644dc572f69c832920108467892392947a;hb=d9f4d3f0eabd3767b4d25438319116f77c158c52;hpb=e00e92ca69d45637f8e4d55d7cbd5913f45169cd diff --git a/src/common/signalproxy.cpp b/src/common/signalproxy.cpp index b3410e64..e7c641b4 100644 --- a/src/common/signalproxy.cpp +++ b/src/common/signalproxy.cpp @@ -275,6 +275,7 @@ void SignalProxy::init() { connect(&_heartBeatTimer, SIGNAL(timeout()), this, SLOT(sendHeartBeat())); setHeartBeatInterval(30); setMaxHeartBeatCount(2); + _heartBeatTimer.start(); _secure = false; updateSecureState(); } @@ -333,13 +334,7 @@ void SignalProxy::setHeartBeatInterval(int secs) { } void SignalProxy::setMaxHeartBeatCount(int max) { - if(max < 0) - _heartBeatTimer.stop(); - else { - _maxHeartBeatCount = max; - if(!_heartBeatTimer.isActive()) - _heartBeatTimer.start(); - } + _maxHeartBeatCount = max; } bool SignalProxy::addPeer(SignalProxy* proxy) { @@ -960,7 +955,7 @@ void SignalProxy::sendHeartBeat() { if(ioPeer->sentHeartBeats > 0) { updateLag(ioPeer, ioPeer->sentHeartBeats * _heartBeatTimer.interval()); } - if(ioPeer->sentHeartBeats >= maxHeartBeatCount()) + if(maxHeartBeatCount() >= 0 && ioPeer->sentHeartBeats >= maxHeartBeatCount()) toClose.append(ioPeer); else ioPeer->sentHeartBeats++;