4427417bd7
* gnu/packages/patches/websocket-fix-for-boost-1.70.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/web.scm (websocketpp): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
103 lines
3.6 KiB
Diff
103 lines
3.6 KiB
Diff
This patch for Boost >= 1.70 was made by merging two patches that
|
|
are in the 'develop' branch (c769c92 and f810ca2).
|
|
|
|
diff -u b/websocketpp/transport/asio/connection.hpp b/websocketpp/transport/asio/connection.hpp
|
|
--- b/websocketpp/transport/asio/connection.hpp
|
|
+++ b/websocketpp/transport/asio/connection.hpp
|
|
@@ -311,9 +311,10 @@
|
|
* 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) {
|
|
@@ -461,8 +462,7 @@
|
|
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 -u b/websocketpp/transport/asio/endpoint.hpp b/websocketpp/transport/asio/endpoint.hpp
|
|
--- b/websocketpp/transport/asio/endpoint.hpp
|
|
+++ b/websocketpp/transport/asio/endpoint.hpp
|
|
@@ -195,8 +195,7 @@
|
|
|
|
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();
|
|
@@ -688,9 +687,7 @@
|
|
* @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
|
|
@@ -854,8 +851,7 @@
|
|
|
|
// 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);
|
|
unchanged:
|
|
--- 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);
|
|
unchanged:
|
|
--- 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());
|
|
only in patch2:
|
|
unchanged:
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -202,7 +202,7 @@ if (BUILD_TESTS OR BUILD_EXAMPLES)
|
|
endif ()
|
|
|
|
if (NOT Boost_USE_STATIC_LIBS)
|
|
- add_definitions (/DBOOST_TEST_DYN_LINK)
|
|
+ add_definitions (-DBOOST_TEST_DYN_LINK)
|
|
endif ()
|
|
|
|
set (Boost_FIND_REQUIRED TRUE)
|