Use mutex for proper synchronization
* Guard both hack and reader threads so that only one thread can interact with critical variables at a time. This fixes exception related to bone esp.
This commit is contained in:
@@ -26,6 +26,9 @@ namespace hack {
|
|||||||
};
|
};
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(dataMutex);
|
||||||
|
|
||||||
if (g_game.isC4Planted)
|
if (g_game.isC4Planted)
|
||||||
{
|
{
|
||||||
Vector3 c4Origin = g_game.c4.get_origin();
|
Vector3 c4Origin = g_game.c4.get_origin();
|
||||||
|
|||||||
@@ -68,6 +68,9 @@ void CGame::close() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void CGame::loop() {
|
void CGame::loop() {
|
||||||
|
|
||||||
|
std::lock_guard<std::mutex> lock(dataMutex);
|
||||||
|
|
||||||
inGame = false;
|
inGame = false;
|
||||||
isC4Planted = false;
|
isC4Planted = false;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
#include "../classes/vector.hpp"
|
#include "../classes/vector.hpp"
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <mutex>
|
||||||
|
|
||||||
struct view_matrix_t {
|
struct view_matrix_t {
|
||||||
float* operator[ ](int index) {
|
float* operator[ ](int index) {
|
||||||
@@ -74,4 +75,6 @@ private:
|
|||||||
uintptr_t localList_entry2;
|
uintptr_t localList_entry2;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline CGame g_game;
|
inline CGame g_game;
|
||||||
|
|
||||||
|
inline std::mutex dataMutex;
|
||||||
Reference in New Issue
Block a user