forked from openwrt/packages
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
websocketpp: Fix compile with Boost 1.70+
Fix compilation for newer Boost versions, same as in the websocketpp 'develop' branch: zaphoyd/websocketpp#814 Signed-off-by: Bruno Randolf <[email protected]>
- Loading branch information
Bruno Randolf
committed
Apr 17, 2020
1 parent
d8bad7a
commit e1bb99f
Showing
2 changed files
with
112 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001 | ||
From: Stefan Floeren <[email protected]> | ||
Date: Tue, 16 Apr 2019 08:38:01 +0200 | ||
Subject: [PATCH 1/4] Replace make_shared with new in some cases | ||
|
||
Replace make_shared for asio types that take a lib::ref as a parameter. | ||
This should fix the ASIO change (boostorg/asio@59066d8) for 1.70, | ||
while keeping it backwards compatible to older boost versions. | ||
|
||
diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp | ||
index 60f88a7..1ccda8f 100644 | ||
--- a/websocketpp/transport/asio/connection.hpp | ||
+++ b/websocketpp/transport/asio/connection.hpp | ||
@@ -311,9 +311,10 @@ public: | ||
* needed. | ||
*/ | ||
timer_ptr set_timer(long duration, timer_handler callback) { | ||
- timer_ptr new_timer = lib::make_shared<lib::asio::steady_timer>( | ||
- lib::ref(*m_io_service), | ||
- lib::asio::milliseconds(duration) | ||
+ timer_ptr new_timer( | ||
+ new lib::asio::steady_timer( | ||
+ *m_io_service, | ||
+ lib::asio::milliseconds(duration)) | ||
); | ||
|
||
if (config::enable_multithreading) { | ||
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp | ||
index ddab2c7..4b719a9 100644 | ||
--- a/websocketpp/transport/asio/endpoint.hpp | ||
+++ b/websocketpp/transport/asio/endpoint.hpp | ||
@@ -195,8 +195,7 @@ public: | ||
|
||
m_io_service = ptr; | ||
m_external_io_service = true; | ||
- m_acceptor = lib::make_shared<lib::asio::ip::tcp::acceptor>( | ||
- lib::ref(*m_io_service)); | ||
+ m_acceptor.reset(new lib::asio::ip::tcp::acceptor(*m_io_service)); | ||
|
||
m_state = READY; | ||
ec = lib::error_code(); | ||
diff --git a/websocketpp/transport/asio/security/none.hpp b/websocketpp/transport/asio/security/none.hpp | ||
index 5c8293d..6c7d352 100644 | ||
--- a/websocketpp/transport/asio/security/none.hpp | ||
+++ b/websocketpp/transport/asio/security/none.hpp | ||
@@ -168,8 +168,7 @@ protected: | ||
return socket::make_error_code(socket::error::invalid_state); | ||
} | ||
|
||
- m_socket = lib::make_shared<lib::asio::ip::tcp::socket>( | ||
- lib::ref(*service)); | ||
+ m_socket.reset(new lib::asio::ip::tcp::socket(*service)); | ||
|
||
if (m_socket_init_handler) { | ||
m_socket_init_handler(m_hdl, *m_socket); | ||
diff --git a/websocketpp/transport/asio/security/tls.hpp b/websocketpp/transport/asio/security/tls.hpp | ||
index c76fd9a..04ac379 100644 | ||
--- a/websocketpp/transport/asio/security/tls.hpp | ||
+++ b/websocketpp/transport/asio/security/tls.hpp | ||
@@ -193,8 +193,7 @@ protected: | ||
if (!m_context) { | ||
return socket::make_error_code(socket::error::invalid_tls_context); | ||
} | ||
- m_socket = lib::make_shared<socket_type>( | ||
- _WEBSOCKETPP_REF(*service),lib::ref(*m_context)); | ||
+ m_socket.reset(new socket_type(*service, *m_context)); | ||
|
||
if (m_socket_init_handler) { | ||
m_socket_init_handler(m_hdl, get_socket()); | ||
diff --git a/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp | ||
index 1ccda8f..57dda74 100644 | ||
--- a/websocketpp/transport/asio/connection.hpp | ||
+++ b/websocketpp/transport/asio/connection.hpp | ||
@@ -462,8 +462,7 @@ protected: | ||
m_io_service = io_service; | ||
|
||
if (config::enable_multithreading) { | ||
- m_strand = lib::make_shared<lib::asio::io_service::strand>( | ||
- lib::ref(*io_service)); | ||
+ m_strand.reset(new lib::asio::io_service::strand(*io_service)); | ||
} | ||
|
||
lib::error_code ec = socket_con_type::init_asio(io_service, m_strand, | ||
diff --git a/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp | ||
index 4b719a9..94509ad 100644 | ||
--- a/websocketpp/transport/asio/endpoint.hpp | ||
+++ b/websocketpp/transport/asio/endpoint.hpp | ||
@@ -687,9 +687,7 @@ public: | ||
* @since 0.3.0 | ||
*/ | ||
void start_perpetual() { | ||
- m_work = lib::make_shared<lib::asio::io_service::work>( | ||
- lib::ref(*m_io_service) | ||
- ); | ||
+ m_work.reset(new lib::asio::io_service::work(*m_io_service)); | ||
} | ||
|
||
/// Clears the endpoint's perpetual flag, allowing it to exit when empty | ||
@@ -853,8 +851,7 @@ protected: | ||
|
||
// Create a resolver | ||
if (!m_resolver) { | ||
- m_resolver = lib::make_shared<lib::asio::ip::tcp::resolver>( | ||
- lib::ref(*m_io_service)); | ||
+ m_resolver.reset(new lib::asio::ip::tcp::resolver(*m_io_service)); | ||
} | ||
|
||
tcon->set_uri(u); | ||
-- | ||
2.26.1 |