summaryrefslogtreecommitdiffstats
path: root/slobrok
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@yahooinc.com>2022-05-02 13:32:14 +0000
committerHåvard Pettersen <havardpe@yahooinc.com>2022-05-02 13:32:14 +0000
commit42a0867d0b7db7e48f3e3007dbbef8591a858d3c (patch)
treeba2becfb6b06fbf5391e0c443df0ab71d811f2c0 /slobrok
parenta817a14d2a781ee8fc12c89bba08828fd00ba5cb (diff)
wait for more things before destructing transport
Exiting the main loop of the transport thread(s) does no longer mean you are completely finished. We also need to wait for async dns resolving and tls handshake work.
Diffstat (limited to 'slobrok')
-rw-r--r--slobrok/src/tests/startsome/tstdst.cpp1
-rw-r--r--slobrok/src/vespa/slobrok/server/sbenv.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/slobrok/src/tests/startsome/tstdst.cpp b/slobrok/src/tests/startsome/tstdst.cpp
index d83d79b3a00..8a6b3901cc0 100644
--- a/slobrok/src/tests/startsome/tstdst.cpp
+++ b/slobrok/src/tests/startsome/tstdst.cpp
@@ -176,6 +176,7 @@ TstEnv::MainLoop()
FRT_Target *slobrok = getSupervisor()->GetTarget(sbspec.c_str());
slobrok->InvokeAsync(req, 5.0, this);
getTransport()->Main();
+ getTransport()->WaitFinished();
return 0;
}
diff --git a/slobrok/src/vespa/slobrok/server/sbenv.cpp b/slobrok/src/vespa/slobrok/server/sbenv.cpp
index 0a8b6c60864..9b1b4ce97ec 100644
--- a/slobrok/src/vespa/slobrok/server/sbenv.cpp
+++ b/slobrok/src/vespa/slobrok/server/sbenv.cpp
@@ -183,6 +183,7 @@ SBEnv::MainLoop()
LOG(debug, "slobrok: starting main event loop");
EV_STARTED("slobrok");
getTransport()->Main();
+ getTransport()->WaitFinished();
LOG(debug, "slobrok: main event loop done");
} catch (vespalib::Exception &e) {
LOG(error, "invalid config: %s", e.what());