|
|
- From 9d226dab339f5767ec01ea1bcc9043ceee185cca Mon Sep 17 00:00:00 2001
- From: Rob Peters <info@domoticz.com>
- Date: Mon, 25 Mar 2019 08:50:23 +0100
- Subject: [PATCH] Fix for boot 1.70 get_io_service, fixed #3117
-
- ---
- hardware/Pinger.cpp | 10 ++++++++--
- hardware/TCPProxy/tcpproxy_server.cpp | 8 +++++++-
- 2 files changed, 15 insertions(+), 3 deletions(-)
-
- diff --git a/hardware/Pinger.cpp b/hardware/Pinger.cpp
- index 01a955ba4..184378738 100644
- --- a/hardware/Pinger.cpp
- +++ b/hardware/Pinger.cpp
- @@ -18,6 +18,12 @@
-
- #include <iostream>
-
- +#if BOOST_VERSION >= 107000
- +#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
- +#else
- +#define GET_IO_SERVICE(s) ((s).get_io_service())
- +#endif
- +
- class pinger
- : private domoticz::noncopyable
- {
- @@ -76,7 +82,7 @@ class pinger
- num_tries_++;
- if (num_tries_ > 4)
- {
- - resolver_.get_io_service().stop();
- + GET_IO_SERVICE(resolver_).stop();
- }
- else
- {
- @@ -118,7 +124,7 @@ class pinger
- if (num_replies_++ == 0)
- timer_.cancel();
- m_PingState = true;
- - resolver_.get_io_service().stop();
- + GET_IO_SERVICE(resolver_).stop();
- }
- else
- {
- diff --git a/hardware/TCPProxy/tcpproxy_server.cpp b/hardware/TCPProxy/tcpproxy_server.cpp
- index fddac08de..60445d9c2 100644
- --- a/hardware/TCPProxy/tcpproxy_server.cpp
- +++ b/hardware/TCPProxy/tcpproxy_server.cpp
- @@ -15,6 +15,12 @@
- #include "stdafx.h"
- #include "tcpproxy_server.h"
-
- +#if BOOST_VERSION >= 107000
- +#define GET_IO_SERVICE(s) ((boost::asio::io_context&)(s).get_executor().context())
- +#else
- +#define GET_IO_SERVICE(s) ((s).get_io_service())
- +#endif
- +
- namespace tcp_proxy
- {
- bridge::bridge(boost::asio::io_service& ios)
- @@ -38,7 +44,7 @@ namespace tcp_proxy
- boost::asio::ip::tcp::endpoint end;
-
-
- - boost::asio::io_service &ios=downstream_socket_.get_io_service();
- + boost::asio::io_service &ios= GET_IO_SERVICE(downstream_socket_);
- boost::asio::ip::tcp::resolver resolver(ios);
- boost::asio::ip::tcp::resolver::query query(upstream_host, upstream_port, boost::asio::ip::resolver_query_base::numeric_service);
- boost::asio::ip::tcp::resolver::iterator i = resolver.resolve(query);
|