summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-05-13 11:42:58 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2019-05-13 11:42:58 +0000
commitb6f0c8ea640f24762885d23f1dcaf2b4c41a80e6 (patch)
tree66a20f69dacde65e2562c78c3a1fa91a7c1369ed /fnet
parent8c4537c64fa21ee019658a2af2634424268fd928 (diff)
Also wait for outstanding async resolves to complete.
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