mirror of
https://github.com/dashr9230/SA-MP.git
synced 2026-10-11 01:38:17 +08:00
[saco] Match CDownloadManager::FUNC_1000C010 and its empty worker proc; _beginthread per slot
This commit is contained in:
1 parent
60c7d6ba09
commit
9f962b6477
2 files changed
+41
No files matched your search
@@ -2,6 +2,46 @@
|
||||
|
||||
//----------------------------------------------------
|
||||
|
||||
// retail spawns the workers on an empty body
|
||||
void __cdecl DownloadThreadProc(void *pParam)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------
|
||||
|
||||
// spawns a worker for every idle slot and clears its request block
|
||||
bool CDownloadManager::FUNC_1000C010()
|
||||
{
|
||||
for(int i = 0; i < MAX_DOWNLOAD_SLOTS; i++)
|
||||
{
|
||||
if(m_Slots[i].field_6)
|
||||
continue;
|
||||
|
||||
m_Slots[i].dwThread = _beginthread(DownloadThreadProc, 0, &m_Slots[i]);
|
||||
if(m_Slots[i].dwThread == -1)
|
||||
{
|
||||
m_Slots[i].field_6 = 0;
|
||||
m_Slots[i].field_10D = 1;
|
||||
m_Slots[i].field_10E = -1;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_Slots[i].field_10E = -1;
|
||||
m_Slots[i].dwSlotId = i + 1;
|
||||
m_Slots[i].field_6 = 1;
|
||||
m_Slots[i].field_7 = 0;
|
||||
m_Slots[i].field_4 = 0;
|
||||
m_Slots[i].field_10D = 0;
|
||||
memset(m_Slots[i].szPath, 0, sizeof(m_Slots[i].szPath));
|
||||
memset(m_Slots[i].Request, 0, sizeof(m_Slots[i].Request));
|
||||
}
|
||||
|
||||
m_bSlotsReady = 1;
|
||||
return true;
|
||||
}
|
||||
|
||||
//----------------------------------------------------
|
||||
|
||||
// flags every slot for cancellation and drops the ready bit so the next
|
||||
// request re-spawns the workers
|
||||
void CDownloadManager::FUNC_1000C0C0()
|
||||
|
||||
@@ -31,6 +31,7 @@ public:
|
||||
BYTE m_bSlotsReady;
|
||||
DOWNLOAD_SLOT m_Slots[MAX_DOWNLOAD_SLOTS];
|
||||
|
||||
bool FUNC_1000C010(); // .text:1000C010
|
||||
void FUNC_1000C0C0(); // .text:1000C0C0
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user