Browse Source

domoticz: fix boost 1.70 compat

This is an upstream backport that deals with an API change in Boost.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 5 years ago
parent
commit
3fc9f0a108
No known key found for this signature in database GPG Key ID: 36D31CFA845F0E3B
2 changed files with 72 additions and 1 deletions
  1. +1
    -1
      utils/domoticz/Makefile
  2. +71
    -0
      utils/domoticz/patches/010-boost-170-fix.patch

+ 1
- 1
utils/domoticz/Makefile View File

@ -12,7 +12,7 @@ PKG_VERSION_MAJOR:=4
PKG_VERSION_PATCH:=9700
PKG_COMMIT:=
PKG_VERSION:=$(PKG_VERSION_MAJOR).$(PKG_VERSION_PATCH)
PKG_RELEASE:=1
PKG_RELEASE:=2
ifeq ($(PKG_COMMIT),)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz


+ 71
- 0
utils/domoticz/patches/010-boost-170-fix.patch View File

@ -0,0 +1,71 @@
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);

Loading…
Cancel
Save