|
@@ -219,6 +219,7 @@ CVtmLoaderFSM::CVtmLoaderFSM()
|
|
|
m_terminalNoFromWeb = m_verShowMsg = "";
|
|
|
m_iNoCheckMachineModel = 0;
|
|
|
m_bSIPPhoneStartFail = false;
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_NoNeed;
|
|
|
}
|
|
|
|
|
|
CVtmLoaderFSM::~CVtmLoaderFSM()
|
|
@@ -259,6 +260,7 @@ void CVtmLoaderFSM::s0_on_entry()
|
|
|
{
|
|
|
if (CheckIfNeedCopyDepFiles())
|
|
|
{
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_Copying;
|
|
|
CopyDepFilesToNewDepPathTask* pCopyTask = new CopyDepFilesToNewDepPathTask(this);
|
|
|
GetEntityBase()->GetFunction()->PostThreadPoolTask(pCopyTask);
|
|
|
}
|
|
@@ -972,6 +974,25 @@ int CVtmLoaderFSM::NetWorkCheckAndGetSetting()
|
|
|
DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)(CSimpleStringA::Format("root.ini不存在(%s),Set TerminalStage N ", csTmpRootIni.GetData()).GetData());
|
|
|
GetEntityBase()->GetFunction()->SetSysVar("TerminalStage", "N");
|
|
|
}
|
|
|
+ //oilyang@20241017 to check if have copied dep directory
|
|
|
+ while (true)
|
|
|
+ {
|
|
|
+ if (m_eDepCopyStage == DepDirInitCopy_NoNeed || m_eDepCopyStage == DepDirInitCopy_CopySuc)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("no need or have done dep copy, DepCopyStage:%d", m_eDepCopyStage);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ else if (m_eDepCopyStage == DepDirInitCopy_Copying)
|
|
|
+ {
|
|
|
+ Sleep(1000);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ LogWarn(Severity_High, Error_Unexpect, VtmLoader_DepDirCopyFailed, "厂商适配器Dep文件拷贝失败,请联系分行IT排查是否安全软件干扰文件拷贝");
|
|
|
+ Sleep(60000);
|
|
|
+ }
|
|
|
+ }
|
|
|
return EntityLoad();
|
|
|
|
|
|
}
|
|
@@ -2987,6 +3008,7 @@ void CVtmLoaderFSM::CopyDepFilesToNewDepPath()
|
|
|
if (eErr != Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("get path of Run failed:%s", SpStrError(eErr));
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_CopyFailed;
|
|
|
return;
|
|
|
}
|
|
|
csPath = csRun + SPLIT_SLASH_STR + "dep" + SPLIT_SLASH_STR + "0.0.0.1";
|
|
@@ -2998,6 +3020,7 @@ void CVtmLoaderFSM::CopyDepFilesToNewDepPath()
|
|
|
#else
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Create default dep version dir fail: %d", errno);
|
|
|
#endif
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_CopyFailed;
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -3005,6 +3028,7 @@ void CVtmLoaderFSM::CopyDepFilesToNewDepPath()
|
|
|
if (eErr != Error_Succeed)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("get path of DepBak failed:%s", SpStrError(eErr));
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_CopyFailed;
|
|
|
return;
|
|
|
}
|
|
|
//xcopy C:\sourceDir C:\destDir /E /I /Y
|
|
@@ -3027,5 +3051,8 @@ void CVtmLoaderFSM::CopyDepFilesToNewDepPath()
|
|
|
CSimpleStringA csVersion("0.0.0.1");
|
|
|
eErr = GetEntityBase()->GetFunction()->GetPrivilegeFunction()->RewriteDepVersion(csVersion, true);
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("[RewriteDepVersion] %s,%s", SpStrError(eErr), csVersion.GetData());
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_CopySuc;
|
|
|
}
|
|
|
+ else
|
|
|
+ m_eDepCopyStage = DepDirInitCopy_CopyFailed;
|
|
|
}
|