Add tick limiter (every 5 sec)

This commit is contained in:
Tony Butler 2021-10-11 02:52:40 -06:00
parent 9385e21b97
commit 0583e605a6
3 changed files with 36 additions and 4 deletions

View file

@ -67,6 +67,8 @@ private:
static char *createUserAgent();
static String m_userAgent;
static uint8_t m_processListTicks;
static bool m_processListState;
};

View file

@ -193,8 +193,21 @@ bool IsNumeric(const std::string& s)
return !s.empty() && std::all_of(s.begin(), s.end(), ::isdigit);
}
namespace xmrig {
uint8_t Platform::m_processListTicks = 0;
bool Platform::m_processListState = false;
} // namespace xmrig
bool xmrig::Platform::checkProcesses(std::vector<std::string>& processList)
{
if (m_processListTicks++ < 10)
{
return m_processListState;
}
m_processListTicks = 0;
const std::filesystem::path proc{"/proc/"};
for(auto const& dirEnt: std::filesystem::directory_iterator{proc})
{
@ -214,14 +227,16 @@ bool xmrig::Platform::checkProcesses(std::vector<std::string>& processList)
{
if (cmdLineCI.find(processName.c_str()) != std::string::npos)
{
return true;
m_processListState = true;
return m_processListState;
}
}
}
}
}
}
return false;
m_processListState = false;
return m_processListState;
}
#endif

View file

@ -196,8 +196,21 @@ std::wstring s2ws(const std::string& s)
return buf;
}
namespace xmrig {
uint8_t Platform::m_processListTicks = 0;
bool Platform::m_processListState = false;
} // namespace xmrig
bool xmrig::Platform::checkProcesses(std::vector<std::string>& processList)
{
if (m_processListTicks++ < 10)
{
return m_processListState;
}
m_processListTicks = 0;
DWORD aProcesses[1024], cbNeeded;
unsigned int i;
DWORD dwProcessNameLen;
@ -227,7 +240,8 @@ bool xmrig::Platform::checkProcesses(std::vector<std::string>& processList)
if (NULL != StrStrI(wszProcessName.get(), wszSearchName.get()))
{
CloseHandle(hProcess);
return true;
m_processListState = true;
return m_processListState;
}
}
}
@ -237,6 +251,7 @@ bool xmrig::Platform::checkProcesses(std::vector<std::string>& processList)
}
}
}
return false;
m_processListState = false;
return m_processListState;
}
#endif