aboutsummaryrefslogtreecommitdiff
path: root/devel/boost-libs
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2019-05-13 07:56:54 +0000
committerJan Beich <jbeich@FreeBSD.org>2019-05-13 07:56:54 +0000
commit88aaa73633e048734176e6d5bdf25ec03928a0a0 (patch)
tree1ec9ef101eb46a50a9233696a3073d4eacf7f8c2 /devel/boost-libs
parenta25dff21b6c61c218f47689dc9fea2317c6d15f7 (diff)
downloadports-88aaa73633e048734176e6d5bdf25ec03928a0a0.tar.gz
ports-88aaa73633e048734176e6d5bdf25ec03928a0a0.zip
devel/boost-libs: apply beast fix after r498698
Notes
Notes: svn path=/head/; revision=501527
Diffstat (limited to 'devel/boost-libs')
-rw-r--r--devel/boost-libs/Makefile2
-rw-r--r--devel/boost-libs/files/patch-beast-25589
2 files changed, 90 insertions, 1 deletions
diff --git a/devel/boost-libs/Makefile b/devel/boost-libs/Makefile
index 5478247eae7b..689d47bf2234 100644
--- a/devel/boost-libs/Makefile
+++ b/devel/boost-libs/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= boost-libs
-PORTREVISION= 1
+PORTREVISION= 2
COMMENT= Free portable C++ libraries (without Boost.Python)
diff --git a/devel/boost-libs/files/patch-beast-255 b/devel/boost-libs/files/patch-beast-255
new file mode 100644
index 000000000000..279410af32d1
--- /dev/null
+++ b/devel/boost-libs/files/patch-beast-255
@@ -0,0 +1,89 @@
+https://github.com/boostorg/beast/issues/1599
+https://github.com/boostorg/beast/pull/1601
+
+--- boost/beast/websocket/impl/ping.hpp.orig 2019-04-09 19:35:22 UTC
++++ boost/beast/websocket/impl/ping.hpp
+@@ -176,7 +176,8 @@ class stream<NextLayer, deflateSupported>::idle_ping_o
+ impl.op_idle_ping.emplace(std::move(*this));
+ impl.wr_block.lock(this);
+ BOOST_ASIO_CORO_YIELD
+- net::post(this->get(), std::move(*this));
++ net::post(
++ this->get_executor(), std::move(*this));
+ BOOST_ASSERT(impl.wr_block.is_locked(this));
+ }
+ if(impl.check_stop_now(ec))
+--- libs/beast/CHANGELOG.md.orig 2019-04-09 19:35:22 UTC
++++ libs/beast/CHANGELOG.md
+@@ -1,3 +1,10 @@
++Version 248-hf1:
++
++* Add idle ping suspend test
++* Fix moved-from executor in idle ping timeout
++
++--------------------------------------------------------------------------------
++
+ Version 248:
+
+ * Don't use a moved-from handler
+--- libs/beast/test/beast/websocket/ping.cpp.orig 2019-04-09 19:35:22 UTC
++++ libs/beast/test/beast/websocket/ping.cpp
+@@ -10,8 +10,11 @@
+ // Test that header file is self-contained.
+ #include <boost/beast/websocket/stream.hpp>
+
++#include <boost/beast/_experimental/test/tcp.hpp>
++
+ #include "test.hpp"
+
++#include <boost/asio/ip/tcp.hpp>
+ #include <boost/asio/io_context.hpp>
+ #include <boost/asio/strand.hpp>
+
+@@ -365,6 +368,46 @@ class ping_test : public websocket_test_suite (public)
+ ioc.run();
+ BEAST_EXPECT(count == 3);
+ });
++
++ // suspend idle ping
++ {
++ using socket_type =
++ net::basic_stream_socket<
++ net::ip::tcp,
++ net::executor>;
++ net::io_context ioc;
++ stream<socket_type> ws1(ioc);
++ stream<socket_type> ws2(ioc);
++ ws1.set_option(stream_base::timeout{
++ stream_base::none(),
++ std::chrono::seconds(0),
++ true});
++ test::connect(
++ ws1.next_layer(),
++ ws2.next_layer());
++ ws1.async_handshake("localhost", "/",
++ [](error_code){});
++ ws2.async_accept([](error_code){});
++ ioc.run();
++ ioc.restart();
++ flat_buffer b1;
++ auto mb = b1.prepare(65536);
++ std::memset(mb.data(), 0, mb.size());
++ b1.commit(65536);
++ ws1.async_write(b1.data(),
++ [&](error_code, std::size_t){});
++ BEAST_EXPECT(
++ ws1.impl_->wr_block.is_locked());
++ ws1.async_read_some(net::mutable_buffer{},
++ [&](error_code, std::size_t){});
++ ioc.run();
++ ioc.restart();
++ flat_buffer b2;
++ ws2.async_read(b2,
++ [&](error_code, std::size_t){});
++ ioc.run();
++ }
++ //);
+
+ {
+ echo_server es{log, kind::async};