/
githubmirror
/
x64dbg
Обзор
Документация
Войти
/
githubmirror
/
x64dbg
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
development
src/tests/scriptcmd_call_threads/target.cpp
44 строки
1 KB
Rafael Ribassin Gonçalves Ferreira de Freitas
fix: restored original bpm behaviour and added tests
23 мар 2026, 19:57
23 мар 2026, 19:57
de26be0
Код
Авторство
О чём код?
#include <windows.h> static HANDLE gGoEvent = nullptr; static volatile LONG gMainCounter = 0; static volatile LONG gWorkerCounter = 0; extern "C" __declspec(dllexport) __declspec(noinline) void MainThreadOuterHit() { InterlockedIncrement(&gMainCounter); } extern "C" __declspec(dllexport) __declspec(noinline) void WorkerThreadInnerHit() { InterlockedExchangeAdd(&gWorkerCounter, 2); } static DWORD WINAPI WorkerThreadProc(void*) { WaitForSingleObject(gGoEvent, INFINITE); WorkerThreadInnerHit(); return 0; } int main() { gGoEvent = CreateEventW(nullptr, TRUE, FALSE, nullptr); if(gGoEvent == nullptr) return 1; auto thread = CreateThread(nullptr, 0, WorkerThreadProc, nullptr, 0, nullptr); if(thread == nullptr) { CloseHandle(gGoEvent); return 1; } MainThreadOuterHit(); SetEvent(gGoEvent); WaitForSingleObject(thread, INFINITE); CloseHandle(thread); CloseHandle(gGoEvent); return 0; }