diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/util.h /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/util.h --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/util.h 2026-07-28 01:52:44.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/util.h 2026-07-28 01:28:44.000000000 +0000 @@ -264,17 +264,4 @@ }; - template - class Defer final - { - public: - - Defer (DeferFunction&& deferFunction): m_DeferFunction (std::forward(deferFunction)) {} - ~Defer() { m_DeferFunction (); } - - private: - - DeferFunction m_DeferFunction; - }; - class Mapping { diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/AddressBook.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/AddressBook.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd_client/AddressBook.cpp 2026-07-28 01:52:44.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd_client/AddressBook.cpp 2026-07-28 01:28:44.000000000 +0000 @@ -981,9 +981,4 @@ return false; } - i2p::util::Defer ([stream]() - { - // destroy stream in destination's thread on exit - boost::asio::post (i2p::client::context.GetSharedLocalDestination ()->GetService (), [s = std::move (stream)](){}); - }); if (m_Etag.empty() && m_LastModified.empty()) { @@ -1036,4 +1031,6 @@ return false; } + // destroy stream in destination's thread + boost::asio::post (i2p::client::context.GetSharedLocalDestination ()->GetService (), [s = std::move (stream)](){}); // check result if (res.result () != boost::beast::http::status::ok)