mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
[Network] debug download "abort" flag on linux
This commit is contained in:
committed by
Maxim Kadushkin
parent
26fbe3babf
commit
2a3f16a4d8
@ -241,7 +241,7 @@ namespace NSNetwork
|
||||
if (NSFile::CFileBinary::Exists(m_sDownloadFilePath))
|
||||
NSFile::CFileBinary::Remove(m_sDownloadFilePath);
|
||||
}
|
||||
return download_external(m_sDownloadFileUrl, m_sDownloadFilePath, m_func_onProgress, m_bIsExit);
|
||||
return download_external(m_sDownloadFileUrl, m_sDownloadFilePath, m_func_onProgress, m_check_aborted);
|
||||
}
|
||||
virtual int UploadData() override
|
||||
{
|
||||
@ -264,18 +264,22 @@ namespace NSNetwork
|
||||
};
|
||||
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sDownloadFileUrl, bool bDelete)
|
||||
: m_pInternal(new CFileTransporterBaseCURL(sDownloadFileUrl, bDelete))
|
||||
|
||||
{
|
||||
m_pInternal = new CFileTransporterBaseCURL(sDownloadFileUrl, bDelete);
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sUploadUrl, const unsigned char* cData, const int nSize)
|
||||
: m_pInternal(new CFileTransporterBaseCURL(sUploadUrl, cData, nSize))
|
||||
{
|
||||
m_pInternal = new CFileTransporterBaseCURL(sUploadUrl, cData, nSize);
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sUploadUrl, const std::wstring &sUploadFilePath)
|
||||
: m_pInternal(new CFileTransporterBaseCURL(sUploadUrl, sUploadFilePath))
|
||||
{
|
||||
m_pInternal = new CFileTransporterBaseCURL(sUploadUrl, sUploadFilePath);
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -486,19 +486,19 @@ namespace NSNetwork
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sDownloadFileUrl, bool bDelete)
|
||||
: m_pInternal(new CFileTransporterBaseWin(sDownloadFileUrl, bDelete))
|
||||
{
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);;
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sUploadUrl, const unsigned char* cData, const int nSize)
|
||||
: m_pInternal(new CFileTransporterBaseWin(sUploadUrl, cData, nSize))
|
||||
{
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);;
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
|
||||
CFileTransporter_private::CFileTransporter_private(const std::wstring &sUploadUrl, const std::wstring &sUploadFilePath)
|
||||
: m_pInternal(new CFileTransporterBaseWin(sUploadUrl, sUploadFilePath))
|
||||
{
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);;
|
||||
m_pInternal->m_check_aborted = std::bind(&CBaseThread::isAborted, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@ namespace NSNetwork
|
||||
return url.substr(pos);
|
||||
}
|
||||
|
||||
int download_external(const std::wstring& sUrl, const std::wstring& sOutput, std::function<void(int)> func_onProgress, std::atomic<bool>* isExit)
|
||||
int download_external(const std::wstring& sUrl, const std::wstring& sOutput, std::function<void(int)> func_onProgress, std::function<bool(void)> func_checkAborted = nullptr)
|
||||
{
|
||||
pid_t pid;
|
||||
int nReturnCode = -1;
|
||||
@ -132,7 +132,7 @@ namespace NSNetwork
|
||||
|
||||
while (1)
|
||||
{
|
||||
if(isExit && isExit->load())
|
||||
if(func_checkAborted && func_checkAborted())
|
||||
{
|
||||
kill(pid, SIGTERM);
|
||||
//while (-1 == waitpid(pid, &status, 0)); // wait for child to complete
|
||||
@ -166,7 +166,7 @@ namespace NSNetwork
|
||||
int waitres;
|
||||
while (1) // wait for child to complete
|
||||
{
|
||||
if(isExit && isExit->load())
|
||||
if(func_checkAborted && func_checkAborted())
|
||||
{
|
||||
kill(pid, SIGTERM);
|
||||
return nReturnCode;
|
||||
@ -220,7 +220,7 @@ namespace NSNetwork
|
||||
int waitres;
|
||||
while (1) // wait for child to complete
|
||||
{
|
||||
if(isExit && isExit->load())
|
||||
if(func_checkAborted && func_checkAborted())
|
||||
{
|
||||
kill(pid, SIGTERM);
|
||||
return nReturnCode;
|
||||
|
||||
Reference in New Issue
Block a user