|
|
- From c769c9238ad62178f506038178714a1c35aa2769 Mon Sep 17 00:00:00 2001
- From: Stefan Floeren <42731906+stefan-floeren@users.noreply.github.com>
- 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
|