blob: 403d8b4a1da89dd6809d407c96243b7bb15cd8e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 = {};
|