summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/transport.cpp8
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