summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Pösel <robyer@seznam.cz>2016-12-04 12:25:02 +0100
committerRobert Pösel <robyer@seznam.cz>2016-12-04 12:25:02 +0100
commit485351f4be14ea8739eedeae5a238889d8431f50 (patch)
treea78f151524e3d8ddfb1d14e7a7b529bc8958fa71
parentfb1a9ccea78678aeffed8387fc4590d4f110b67f (diff)
SkypeWeb: Switch to offline on error in trouter (fixes #622)
-rw-r--r--protocols/SkypeWeb/src/skype_trouter.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/skype_trouter.cpp b/protocols/SkypeWeb/src/skype_trouter.cpp
index 312d7f4ec4..8249898e92 100644
--- a/protocols/SkypeWeb/src/skype_trouter.cpp
+++ b/protocols/SkypeWeb/src/skype_trouter.cpp
@@ -159,12 +159,20 @@ void CSkypeProto::TRouterThread(void*)
}
else
{
+ errors++;
+
SendRequest(new HealthTrouterRequest(TRouter.ccid.c_str()), &CSkypeProto::OnHealth);
m_hTrouterHealthEvent.Wait();
}
m_TrouterConnection = response->nlc;
}
delete request;
+
+ if (m_iStatus != ID_STATUS_OFFLINE)
+ {
+ debugLogA(__FUNCTION__ ": unexpected termination; switching protocol to offline");
+ SetStatus(ID_STATUS_OFFLINE);
+ }
}
m_hTrouterThread = NULL;
m_TrouterConnection = NULL;