diff options
Diffstat (limited to 'fnet')
-rw-r--r-- | fnet/src/vespa/fnet/transport.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fnet/src/vespa/fnet/transport.cpp b/fnet/src/vespa/fnet/transport.cpp index 4db2a33c78c..d1e26529375 100644 --- a/fnet/src/vespa/fnet/transport.cpp +++ b/fnet/src/vespa/fnet/transport.cpp @@ -38,8 +38,6 @@ FNET_Transport::FNET_Transport(vespalib::AsyncResolver::SP resolver, vespalib::C FNET_Transport::~FNET_Transport() { - _async_resolver->wait_for_pending_resolves(); - _work_pool.shutdown().sync(); } void @@ -157,6 +155,10 @@ FNET_Transport::ShutDown(bool waitFinished) for (const auto &thread: _threads) { thread->ShutDown(waitFinished); } + if (waitFinished) { + _async_resolver->wait_for_pending_resolves(); + _work_pool.shutdown().sync(); + } } void @@ -165,6 +167,8 @@ FNET_Transport::WaitFinished() for (const auto &thread: _threads) { thread->WaitFinished(); } + _async_resolver->wait_for_pending_resolves(); + _work_pool.shutdown().sync(); } bool |