From 42a0867d0b7db7e48f3e3007dbbef8591a858d3c Mon Sep 17 00:00:00 2001 From: HÃ¥vard Pettersen Date: Mon, 2 May 2022 13:32:14 +0000 Subject: 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. --- slobrok/src/tests/startsome/tstdst.cpp | 1 + slobrok/src/vespa/slobrok/server/sbenv.cpp | 1 + 2 files changed, 2 insertions(+) (limited to 'slobrok/src') 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()); -- cgit v1.2.3