aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-02-26 18:28:44 +0100
committerTor Egge <Tor.Egge@online.no>2022-02-26 18:28:44 +0100
commit5ca782ee29d94e139fced55f596c32563808d923 (patch)
treef5318a2eb87270a577f1d4b409d3c1c355de2cd9
parent937f3b4efd4df819484a58e535c928927687ad09 (diff)
Remove inlining warnings (vespalib).
-rw-r--r--vespalib/src/tests/net/async_resolver/async_resolver_test.cpp3
-rw-r--r--vespalib/src/tests/rendezvous/rendezvous_test.cpp23
-rw-r--r--vespalib/src/tests/simple_thread_bundle/simple_thread_bundle_test.cpp3
-rw-r--r--vespalib/src/vespa/vespalib/net/async_resolver.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/net/async_resolver.h1
-rw-r--r--vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.h1
-rw-r--r--vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.cpp2
-rw-r--r--vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.h1
-rw-r--r--vespalib/src/vespa/vespalib/util/CMakeLists.txt2
-rw-r--r--vespalib/src/vespa/vespalib/util/count_down_latch.cpp9
-rw-r--r--vespalib/src/vespa/vespalib/util/count_down_latch.h2
-rw-r--r--vespalib/src/vespa/vespalib/util/gate.cpp9
-rw-r--r--vespalib/src/vespa/vespalib/util/gate.h1
14 files changed, 60 insertions, 1 deletions
diff --git a/vespalib/src/tests/net/async_resolver/async_resolver_test.cpp b/vespalib/src/tests/net/async_resolver/async_resolver_test.cpp
index 6e8e6e5f761..739f036fb5c 100644
--- a/vespalib/src/tests/net/async_resolver/async_resolver_test.cpp
+++ b/vespalib/src/tests/net/async_resolver/async_resolver_test.cpp
@@ -22,12 +22,15 @@ struct MyClock : public AsyncResolver::Clock {
using time_point = AsyncResolver::time_point;
using seconds = AsyncResolver::seconds;
time_point my_now;
+ ~MyClock() override;
void set_now(seconds t) {
my_now = time_point(std::chrono::duration_cast<time_point::duration>(t));
}
AsyncResolver::time_point now() override { return my_now; }
};
+MyClock::~MyClock() = default;
+
struct BlockingHostResolver : public AsyncResolver::HostResolver {
CountDownLatch callers;
Gate barrier;
diff --git a/vespalib/src/tests/rendezvous/rendezvous_test.cpp b/vespalib/src/tests/rendezvous/rendezvous_test.cpp
index 616824af7f1..11bcf62d77e 100644
--- a/vespalib/src/tests/rendezvous/rendezvous_test.cpp
+++ b/vespalib/src/tests/rendezvous/rendezvous_test.cpp
@@ -15,6 +15,7 @@ struct Value {
template <typename T, bool ext_id>
struct Empty : Rendezvous<int, T, ext_id> {
Empty(size_t n) : Rendezvous<int, T, ext_id>(n) {}
+ ~Empty() override;
void mingle() override {}
T meet(size_t thread_id) {
if constexpr (ext_id) {
@@ -26,6 +27,9 @@ struct Empty : Rendezvous<int, T, ext_id> {
}
};
+template <typename T, bool ext_id>
+Empty<T, ext_id>::~Empty() = default;
+
template <bool ext_id>
struct Add : Rendezvous<size_t, std::pair<size_t, size_t>, ext_id> {
using Super = Rendezvous<size_t, std::pair<size_t, size_t>, ext_id>;
@@ -33,6 +37,7 @@ struct Add : Rendezvous<size_t, std::pair<size_t, size_t>, ext_id> {
using Super::in;
using Super::out;
Add(size_t n) : Super(n) {}
+ ~Add() override;
void mingle() override {
size_t sum = 0;
for (size_t i = 0; i < size(); ++i) {
@@ -45,12 +50,16 @@ struct Add : Rendezvous<size_t, std::pair<size_t, size_t>, ext_id> {
};
template <bool ext_id>
+Add<ext_id>::~Add() = default;
+
+template <bool ext_id>
struct Modify : Rendezvous<size_t, size_t, ext_id> {
using Super = Rendezvous<size_t, size_t, ext_id>;
using Super::size;
using Super::in;
using Super::out;
Modify(size_t n) : Super(n) {}
+ ~Modify() override;
void mingle() override {
for (size_t i = 0; i < size(); ++i) {
in(i) += 1;
@@ -61,6 +70,9 @@ struct Modify : Rendezvous<size_t, size_t, ext_id> {
}
};
+template <bool ext_id>
+Modify<ext_id>::~Modify() = default;
+
template <typename T, bool ext_id>
struct Swap : Rendezvous<T, T, ext_id> {
using Super = Rendezvous<T, T, ext_id>;
@@ -68,12 +80,16 @@ struct Swap : Rendezvous<T, T, ext_id> {
using Super::in;
using Super::out;
Swap() : Super(2) {}
+ ~Swap() override;
void mingle() override {
out(0) = std::move(in(1));
out(1) = std::move(in(0));
}
};
+template <typename T, bool ext_id>
+Swap<T, ext_id>::~Swap() = default;
+
template <bool ext_id>
struct DetectId : Rendezvous<int, size_t, ext_id> {
using Super = Rendezvous<int, size_t, ext_id>;
@@ -81,6 +97,7 @@ struct DetectId : Rendezvous<int, size_t, ext_id> {
using Super::in;
using Super::out;
DetectId(size_t n) : Super(n) {}
+ ~DetectId() override;
void mingle() override {
for (size_t i = 0; i < size(); ++i) {
out(i) = i;
@@ -96,8 +113,12 @@ struct DetectId : Rendezvous<int, size_t, ext_id> {
}
};
+template <bool ext_id>
+DetectId<ext_id>::~DetectId() = default;
+
struct Any : Rendezvous<bool, bool> {
Any(size_t n) : Rendezvous<bool, bool>(n) {}
+ ~Any() override;
void mingle() override {
bool result = false;
for (size_t i = 0; i < size(); ++i) {
@@ -110,6 +131,8 @@ struct Any : Rendezvous<bool, bool> {
bool check(bool flag) { return this->rendezvous(flag); }
};
+Any::~Any() = default;
+
TEST("require that creating an empty rendezvous will fail") {
EXPECT_EXCEPTION(Add<false>(0), IllegalArgumentException, "");
EXPECT_EXCEPTION(Add<true>(0), IllegalArgumentException, "");
diff --git a/vespalib/src/tests/simple_thread_bundle/simple_thread_bundle_test.cpp b/vespalib/src/tests/simple_thread_bundle/simple_thread_bundle_test.cpp
index 8d5d393fe22..5d69a18112a 100644
--- a/vespalib/src/tests/simple_thread_bundle/simple_thread_bundle_test.cpp
+++ b/vespalib/src/tests/simple_thread_bundle/simple_thread_bundle_test.cpp
@@ -37,12 +37,15 @@ struct State {
struct Blocker : Runnable {
Gate start;
+ ~Blocker() override;
void run() override {
start.await();
}
Gate done; // set externally
};
+Blocker::~Blocker() = default;
+
TEST_MT_FF("require that signals can be counted and cancelled", 2, Signal, size_t(16000)) {
if (thread_id == 0) {
for (size_t i = 0; i < f2; ++i) {
diff --git a/vespalib/src/vespa/vespalib/net/async_resolver.cpp b/vespalib/src/vespa/vespalib/net/async_resolver.cpp
index f66d34d4174..7eab9d7c13c 100644
--- a/vespalib/src/vespa/vespalib/net/async_resolver.cpp
+++ b/vespalib/src/vespa/vespalib/net/async_resolver.cpp
@@ -155,6 +155,8 @@ AsyncResolver::AsyncResolver(HostResolver::SP resolver, size_t num_threads)
{
}
+AsyncResolver::~AsyncResolver() = default;
+
void
AsyncResolver::wait_for_pending_resolves() {
_executor->sync();
diff --git a/vespalib/src/vespa/vespalib/net/async_resolver.h b/vespalib/src/vespa/vespalib/net/async_resolver.h
index 28d04e76c16..64e2285acd2 100644
--- a/vespalib/src/vespa/vespalib/net/async_resolver.h
+++ b/vespalib/src/vespa/vespalib/net/async_resolver.h
@@ -124,6 +124,7 @@ private:
AsyncResolver(HostResolver::SP resolver, size_t num_threads);
public:
+ ~AsyncResolver();
void resolve_async(const vespalib::string &spec, ResultHandler::WP result_handler);
void wait_for_pending_resolves();
static AsyncResolver::SP create(Params params);
diff --git a/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.cpp b/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.cpp
index 91dc64e4165..832d52c0383 100644
--- a/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.cpp
+++ b/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.cpp
@@ -5,6 +5,8 @@
namespace vespalib {
+MaybeTlsCryptoEngine::~MaybeTlsCryptoEngine() = default;
+
CryptoSocket::UP
MaybeTlsCryptoEngine::create_client_crypto_socket(SocketHandle socket, const SocketSpec &spec)
{
diff --git a/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.h b/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.h
index 8c8a4452c80..2b82d6eb8bc 100644
--- a/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.h
+++ b/vespalib/src/vespa/vespalib/net/tls/maybe_tls_crypto_engine.h
@@ -28,6 +28,7 @@ public:
: _null_engine(std::make_shared<NullCryptoEngine>()),
_tls_engine(std::move(tls_engine)),
_use_tls_when_client(use_tls_when_client) {}
+ ~MaybeTlsCryptoEngine() override;
bool use_tls_when_client() const override { return _use_tls_when_client; }
bool always_use_tls_when_server() const override { return false; }
CryptoSocket::UP create_client_crypto_socket(SocketHandle socket, const SocketSpec &spec) override;
diff --git a/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.cpp b/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.cpp
index 119b4b93a54..9ae270780b5 100644
--- a/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.cpp
+++ b/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.cpp
@@ -6,6 +6,8 @@
namespace vespalib {
+TlsCryptoEngine::~TlsCryptoEngine() = default;
+
TlsCryptoEngine::TlsCryptoEngine(net::tls::TransportSecurityOptions tls_opts, net::tls::AuthorizationMode authz_mode)
: _tls_ctx(net::tls::TlsContext::create_default_context(tls_opts, authz_mode))
{
diff --git a/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.h b/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.h
index 13a514f6954..0e05363ab1b 100644
--- a/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.h
+++ b/vespalib/src/vespa/vespalib/net/tls/tls_crypto_engine.h
@@ -25,6 +25,7 @@ private:
public:
explicit TlsCryptoEngine(net::tls::TransportSecurityOptions tls_opts,
net::tls::AuthorizationMode authz_mode = net::tls::AuthorizationMode::Enforce);
+ ~TlsCryptoEngine() override;
std::unique_ptr<TlsCryptoSocket> create_tls_client_crypto_socket(SocketHandle socket, const SocketSpec &spec) override;
std::unique_ptr<TlsCryptoSocket> create_tls_server_crypto_socket(SocketHandle socket) override;
bool use_tls_when_client() const override { return true; }
diff --git a/vespalib/src/vespa/vespalib/util/CMakeLists.txt b/vespalib/src/vespa/vespalib/util/CMakeLists.txt
index 752bf60c688..747ed736aad 100644
--- a/vespalib/src/vespa/vespalib/util/CMakeLists.txt
+++ b/vespalib/src/vespa/vespalib/util/CMakeLists.txt
@@ -18,6 +18,7 @@ vespa_add_library(vespalib_vespalib_util OBJECT
classname.cpp
compress.cpp
compressor.cpp
+ count_down_latch.cpp
cpu_usage.cpp
destructor_callbacks.cpp
dual_merge_director.cpp
@@ -26,6 +27,7 @@ vespa_add_library(vespalib_vespalib_util OBJECT
exceptions.cpp
executor_idle_tracking.cpp
file_area_freelist.cpp
+ gate.cpp
gencnt.cpp
generationhandler.cpp
generationholder.cpp
diff --git a/vespalib/src/vespa/vespalib/util/count_down_latch.cpp b/vespalib/src/vespa/vespalib/util/count_down_latch.cpp
new file mode 100644
index 00000000000..5064a0a962f
--- /dev/null
+++ b/vespalib/src/vespa/vespalib/util/count_down_latch.cpp
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "count_down_latch.h"
+
+namespace vespalib {
+
+CountDownLatch::~CountDownLatch() = default;
+
+}
diff --git a/vespalib/src/vespa/vespalib/util/count_down_latch.h b/vespalib/src/vespa/vespalib/util/count_down_latch.h
index 613a60e90c5..d4298f0d5a9 100644
--- a/vespalib/src/vespa/vespalib/util/count_down_latch.h
+++ b/vespalib/src/vespa/vespalib/util/count_down_latch.h
@@ -90,7 +90,7 @@ public:
/**
* Empty. Needs to be virtual to reduce compiler warnings.
**/
- virtual ~CountDownLatch() = default;
+ virtual ~CountDownLatch();
};
} // namespace vespalib
diff --git a/vespalib/src/vespa/vespalib/util/gate.cpp b/vespalib/src/vespa/vespalib/util/gate.cpp
new file mode 100644
index 00000000000..485c29dc5c8
--- /dev/null
+++ b/vespalib/src/vespa/vespalib/util/gate.cpp
@@ -0,0 +1,9 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#include "gate.h"
+
+namespace vespalib {
+
+Gate::~Gate() = default;
+
+}
diff --git a/vespalib/src/vespa/vespalib/util/gate.h b/vespalib/src/vespa/vespalib/util/gate.h
index c914a4f0911..315adb2939e 100644
--- a/vespalib/src/vespa/vespalib/util/gate.h
+++ b/vespalib/src/vespa/vespalib/util/gate.h
@@ -17,6 +17,7 @@ public:
* Sets the initial count to 1.
**/
Gate() noexcept : CountDownLatch(1) {}
+ ~Gate() override;
};
} // namespace vespalib