Browse Source
core: hle: Remove global HLE lock.
core: hle: Remove global HLE lock.
- This was added early on as a hack to protect against some concurrency issues. - It's not clear that this serves any purpose anymore, and if it does, individual components should be fixed rather than using a global recursive mutex.nce_cpp
11 changed files with 1 additions and 67 deletions
-
2src/core/CMakeLists.txt
-
2src/core/hle/kernel/k_process.cpp
-
9src/core/hle/kernel/svc.cpp
-
9src/core/hle/lock.cpp
-
18src/core/hle/lock.h
-
10src/core/hle/service/bcat/backend/backend.cpp
-
5src/core/hle/service/bcat/backend/backend.h
-
2src/core/hle/service/nfp/nfp.cpp
-
3src/yuzu/applets/qt_controller.cpp
-
3src/yuzu/applets/qt_error.cpp
-
3src/yuzu/applets/qt_profile_select.cpp
@ -1,9 +0,0 @@ |
|||
// Copyright 2017 Citra Emulator Project
|
|||
// Licensed under GPLv2 or any later version
|
|||
// Refer to the license.txt file included.
|
|||
|
|||
#include <core/hle/lock.h>
|
|||
|
|||
namespace HLE { |
|||
std::recursive_mutex g_hle_lock; |
|||
} |
|||
@ -1,18 +0,0 @@ |
|||
// 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::recursive_mutex g_hle_lock; |
|||
} // namespace HLE |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue