summarylogtreecommitdiffstats
path: root/dsu.diff
diff options
context:
space:
mode:
Diffstat (limited to 'dsu.diff')
-rw-r--r--dsu.diff30
1 files changed, 30 insertions, 0 deletions
diff --git a/dsu.diff b/dsu.diff
new file mode 100644
index 000000000000..403d8b4a1da8
--- /dev/null
+++ b/dsu.diff
@@ -0,0 +1,30 @@
+--- a/src/input/CMakeLists.txt
++++ b/src/input/CMakeLists.txt
+@@ -43,6 +43,7 @@ target_sources(CemuInput PRIVATE
+ api/DSU/DSUControllerProvider.h
+ api/DSU/DSUMessages.h
+ api/DSU/DSUMessages.cpp
++ api/DSU/TimeoutSocketOption.h
+ )
+
+ # Keyboard controller
+--- a/src/input/api/DSU/DSUControllerProvider.cpp
++++ b/src/input/api/DSU/DSUControllerProvider.cpp
+@@ -1,5 +1,6 @@
+ #include "input/api/DSU/DSUControllerProvider.h"
+ #include "input/api/DSU/DSUController.h"
++#include "input/api/DSU/TimeoutSocketOption.h"
+
+ DSUControllerProvider::DSUControllerProvider()
+ : base_type(), m_uid(rand()), m_socket(m_io_service)
+@@ -77,8 +78,9 @@ bool DSUControllerProvider::connect()
+ m_socket.close();
+
+ m_socket.open(ip::udp::v4());
++
+ // set timeout for our threads to give a chance to exit
+- m_socket.set_option(boost::asio::detail::socket_option::integer<SOL_SOCKET, SO_RCVTIMEO>{200});
++ m_socket.set_option(TimeoutSocketOption{200});
+
+ // reset data
+ m_state = {};