diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2023-08-24 10:33:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-24 10:33:53 -0400 |
| commit | 7d89f2c1460b121bad14da5d1c7e13cc24e20527 (patch) | |
| tree | 0a834f0d8440bde19acc12a38ff59ee885e52eef /src/core/hle/service/sockets | |
| parent | 51ffc2c66c80cf73158524cba0f38db5bd127cc6 (diff) | |
| parent | 0cd9d51e06de7bb17b238096976d177446260a80 (diff) | |
Merge pull request #11327 from liamwhite/skyline-2
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> { |
