diff options
| author | Liam <byteslice@airmail.cc> | 2023-08-19 23:09:35 -0400 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2023-08-19 23:09:35 -0400 |
| commit | 0cd9d51e06de7bb17b238096976d177446260a80 (patch) | |
| tree | ba5b64caa0355ffa2432987bc56032f6e9fa20ce /src/core/hle/service/sockets | |
| parent | 6a5db5679b61d3d73244e42682f1b34d401e7736 (diff) | |
sockets: avoid locking around socket session calls
Diffstat (limited to 'src/core/hle/service/sockets')
| -rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 5 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd.h | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 11f8efbac..d8509c1dd 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -1029,6 +1029,11 @@ BSD::~BSD() { } } +std::unique_lock<std::mutex> BSD::LockService() { + // Do not lock socket IClient instances. + return {}; +} + BSDCFG::BSDCFG(Core::System& system_) : ServiceFramework{system_, "bsdcfg"} { // clang-format off static const FunctionInfo functions[] = { diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index 430edb97c..161f22b9b 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h @@ -186,6 +186,9 @@ private: // Callback identifier for the OnProxyPacketReceived event. Network::RoomMember::CallbackHandle<Network::ProxyPacket> proxy_packet_received; + +protected: + virtual std::unique_lock<std::mutex> LockService() override; }; class BSDCFG final : public ServiceFramework<BSDCFG> { |
