summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;