diff options
author | James Rowe <jroweboy@gmail.com> | 2017-08-23 18:17:44 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-23 18:17:44 -0600 |
commit | 61442d6afba2f7528ddf3bbee64e8c2d86a4f4a8 (patch) | |
tree | b4b16a86d9959e14c01e43f68400342d7224c5a8 /src/core/hle/lock.h | |
parent | 2bbff9fa962ffb3e03116e51ba8fb1778a4d10e5 (diff) | |
parent | f484927ed03a1943a83f8781e598e07c056cc82a (diff) |
Merge pull request #2839 from Subv/global_kernel_lock
Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
Diffstat (limited to 'src/core/hle/lock.h')
-rw-r--r-- | src/core/hle/lock.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/lock.h b/src/core/hle/lock.h new file mode 100644 index 000000000..8265621e1 --- /dev/null +++ b/src/core/hle/lock.h @@ -0,0 +1,18 @@ +// Copyright 2017 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <mutex> + +namespace HLE { +/* + * Synchronizes access to the internal HLE kernel structures, it is acquired when a guest + * application thread performs a syscall. It should be acquired by any host threads that read or + * modify the HLE kernel state. Note: Any operation that directly or indirectly reads from or writes + * to the emulated memory is not protected by this mutex, and should be avoided in any threads other + * than the CPU thread. + */ +extern std::mutex g_hle_lock; +} // namespace HLE |