diff -U2 -r /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/Destination.cpp /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/Destination.cpp --- /var/lib/copr-rpmbuild/results/i2pd-git/upstream-unpacked/Source0/i2pd-openssl/libi2pd/Destination.cpp 2026-08-19 21:54:11.000000000 +0000 +++ /var/lib/copr-rpmbuild/results/i2pd-git/srpm-unpacked/i2pd-openssl.tar.gz-extract/i2pd-openssl/libi2pd/Destination.cpp 2026-08-19 21:22:37.000000000 +0000 @@ -13,5 +13,4 @@ #include #include -#include #include #include "Crypto.h" @@ -1682,18 +1681,5 @@ if (IsRunning ()) { - // the destination's own thread may still be handling packets of this - // very destination, so tear it down there rather than under the caller - if (GetIOService ().get_executor ().running_in_this_thread ()) - ClientDestination::Stop (); - else - { - std::promise done; - boost::asio::post (GetIOService (), [this, &done]() - { - ClientDestination::Stop (); - done.set_value (); - }); - done.get_future ().wait (); - } + ClientDestination::Stop (); StopIOService (); }