diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2019-05-13 07:56:54 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2019-05-13 07:56:54 +0000 |
commit | 88aaa73633e048734176e6d5bdf25ec03928a0a0 (patch) | |
tree | 1ec9ef101eb46a50a9233696a3073d4eacf7f8c2 /devel/boost-libs | |
parent | a25dff21b6c61c218f47689dc9fea2317c6d15f7 (diff) | |
download | ports-88aaa73633e048734176e6d5bdf25ec03928a0a0.tar.gz ports-88aaa73633e048734176e6d5bdf25ec03928a0a0.zip |
devel/boost-libs: apply beast fix after r498698
Fix moved-from executor in idle ping timeout:
https://www.boost.org/patches/1_70_0/0001-beast-fix-moved-from-executor.patch
Notes
Notes:
svn path=/head/; revision=501527
Diffstat (limited to 'devel/boost-libs')
-rw-r--r-- | devel/boost-libs/Makefile | 2 | ||||
-rw-r--r-- | devel/boost-libs/files/patch-beast-255 | 89 |
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}; |