|
@@ -62,13 +62,31 @@ struct callback_entry : public IReleasable
|
|
|
DWORD tokenUpdate(void* param)
|
|
|
{
|
|
|
CVtmLoaderFSM* t_entity = (CVtmLoaderFSM*)param;
|
|
|
+ DWORD lastUpdateTime = 0; // 获取当前时间(以毫秒为单位)
|
|
|
+
|
|
|
while (true)
|
|
|
{
|
|
|
+ DWORD currentTime = GetTickCount(); // 获取当前时间
|
|
|
+ DWORD elapsedTime = currentTime - lastUpdateTime; // 计算与上次更新的时间间隔(毫秒)
|
|
|
+
|
|
|
+ if (elapsedTime >= (t_entity->m_refreshWaitSec * 1000))
|
|
|
+ {
|
|
|
+ // 如果距离上次更新时间已经超过了指定的刷新间隔
|
|
|
if (t_entity->refreshToken())
|
|
|
- Sleep(t_entity->m_refreshWaitSec * 1000);
|
|
|
+ {
|
|
|
+ // 更新成功,更新上次更新时间
|
|
|
+ lastUpdateTime = currentTime;
|
|
|
+ }
|
|
|
else
|
|
|
- Sleep(20 * 1000);
|
|
|
+ {
|
|
|
+ // 更新失败,可以处理一些错误逻辑
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ // 等待一段时间后再次检查
|
|
|
+ Sleep(20000); // 20秒
|
|
|
+ }
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
DWORD checkUrlActive(LPVOID param)
|