vcpkg/ports/restc-cpp/boost-1.86-fix.patch
Osyotr 054637a2ae
[boost] Update to 1.86.0 (#40465)
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2024-10-18 13:59:30 -07:00

51 lines
1.7 KiB
Diff

diff --git a/include/restc-cpp/restc-cpp.h b/include/restc-cpp/restc-cpp.h
index 12fc247..ef76416 100644
--- a/include/restc-cpp/restc-cpp.h
+++ b/include/restc-cpp/restc-cpp.h
@@ -52,6 +52,14 @@
# define RESTC_CPP_IO_BUFFER_SIZE (1024 * 16)
#endif
+#if BOOST_VERSION >= 108100
+// They changed the function signature. In boost 1.86 it broke the build.
+#define RESTC_CPP_SPAWN_TRAILER \
+ , boost::asio::detached
+#else
+#define RESTC_CPP_SPAWN_TRAILER
+#endif
+
namespace restc_cpp {
class RestClient;
@@ -380,7 +388,7 @@ class RestClient {
prom->set_exception(std::current_exception());
}
done_handler.reset();
- });
+ } RESTC_CPP_SPAWN_TRAILER);
return move(future);
}
diff --git a/src/RestClientImpl.cpp b/src/RestClientImpl.cpp
index 6b20efd..f8cd8e5 100644
--- a/src/RestClientImpl.cpp
+++ b/src/RestClientImpl.cpp
@@ -276,7 +276,7 @@ class RestClientImpl final : public RestClient {
void Process(const prc_fn_t& fn) override {
boost::asio::spawn(*io_service_,
bind(&RestClientImpl::ProcessInWorker, this,
- placeholders::_1, fn, nullptr));
+ placeholders::_1, fn, nullptr) RESTC_CPP_SPAWN_TRAILER);
}
future< void > ProcessWithPromise(const prc_fn_t& fn) override {
@@ -285,7 +285,7 @@ class RestClientImpl final : public RestClient {
boost::asio::spawn(*io_service_,
bind(&RestClientImpl::ProcessInWorker, this,
- placeholders::_1, fn, promise));
+ placeholders::_1, fn, promise) RESTC_CPP_SPAWN_TRAILER);
return future;
}