mirror of https://git.suyu.dev/suyu/suyu
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).merge-requests/60/head
commit
61442d6afb
@ -0,0 +1,11 @@
|
|||||||
|
// Copyright 2017 Citra Emulator Project
|
||||||
|
// Licensed under GPLv2 or any later version
|
||||||
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <core/hle/lock.h>
|
||||||
|
|
||||||
|
namespace HLE {
|
||||||
|
std::mutex g_hle_lock;
|
||||||
|
}
|
@ -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
|
Loading…
Reference in New Issue