Skip to content

Commit b0f2f64

Browse files
committed
Fall back to a plain mutex for C++11 builds
This removes the dependency on Boost.Thread shared_mutex and is about as fast when no stream recovery is in progress.
1 parent a7e4346 commit b0f2f64

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/inlet_connection.h

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,19 @@
1313
#include <string>
1414
#include <thread>
1515

16-
/* shared_mutex was added in C++17 so we use the boost shared_mutex when
16+
/* shared_mutex was added in C++17 so we fall back to a plain mutex when
1717
building for C++11 / C++14 or MSVC <= 2019 */
1818
#if __cplusplus >= 201703L || _MSC_VER >= 1925
19-
#include <mutex>
2019
#include <shared_mutex>
2120
using shared_mutex_t = std::shared_mutex;
2221
using shared_lock_t = std::shared_lock<std::shared_mutex>;
23-
using unique_lock_t = std::unique_lock<std::shared_mutex>;
2422
#else
25-
#include <boost/thread/lock_types.hpp>
26-
#include <boost/thread/shared_mutex.hpp>
27-
using shared_mutex_t = lslboost::shared_mutex;
28-
using shared_lock_t = lslboost::shared_lock<lslboost::shared_mutex>;
29-
using unique_lock_t = lslboost::unique_lock<lslboost::shared_mutex>;
23+
using shared_mutex_t = std::mutex;
24+
using shared_lock_t = std::unique_lock<std::mutex>;
3025
#endif
3126

27+
using unique_lock_t = std::unique_lock<shared_mutex_t>;
28+
3229
namespace asio = lslboost::asio;
3330
using asio::ip::tcp;
3431
using asio::ip::udp;

0 commit comments

Comments
 (0)