aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h26
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp20
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h3
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.cpp10
-rw-r--r--storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h5
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/searchenvironment.cpp6
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/searchenvironment.h4
-rw-r--r--vbench/src/vbench/core/dispatcher.h4
-rw-r--r--vbench/src/vbench/http/http_connection_pool.cpp4
-rw-r--r--vbench/src/vbench/http/http_connection_pool.h3
-rw-r--r--vdslib/src/tests/thread/taskschedulertest.cpp11
11 files changed, 44 insertions, 52 deletions
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h b/storageframework/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
index bf810d754d6..24132f710fd 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/clock/fakeclock.h
@@ -8,11 +8,9 @@
#pragma once
#include <vespa/storageframework/generic/clock/clock.h>
-#include <vespa/vespalib/util/sync.h>
+#include <mutex>
-namespace storage {
-namespace framework {
-namespace defaultimplementation {
+namespace storage::framework::defaultimplementation {
struct FakeClock : public framework::Clock {
enum Mode {
@@ -25,45 +23,45 @@ struct FakeClock : public framework::Clock {
private:
Mode _mode;
framework::MicroSecTime _absoluteTime;
- mutable time_t _cycleCount;
- vespalib::Lock _lock;
+ mutable time_t _cycleCount;
+ mutable std::mutex _lock;
public:
FakeClock(Mode m = FAKE_ABSOLUTE,
framework::MicroSecTime startTime = framework::MicroSecTime(1));
void setMode(Mode m) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_mode = m;
}
virtual void setFakeCycleMode() { setMode(FAKE_ABSOLUTE_CYCLE); }
virtual void setAbsoluteTimeInSeconds(uint32_t seconds) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_absoluteTime = framework::MicroSecTime(seconds * uint64_t(1000000));
_cycleCount = 0;
_mode = FAKE_ABSOLUTE;
}
virtual void setAbsoluteTimeInMicroSeconds(uint64_t usecs) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_absoluteTime = framework::MicroSecTime(usecs);
_cycleCount = 0;
_mode = FAKE_ABSOLUTE;
}
virtual void addMilliSecondsToTime(uint64_t ms) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_absoluteTime += framework::MicroSecTime(ms * 1000);
}
virtual void addSecondsToTime(uint32_t nr) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_absoluteTime += framework::MicroSecTime(nr * uint64_t(1000000));
}
framework::MicroSecTime getTimeInMicros() const override {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
if (_mode == FAKE_ABSOLUTE) return _absoluteTime;
return _absoluteTime + framework::MicroSecTime(1000000 * _cycleCount++);
}
@@ -80,7 +78,5 @@ public:
}
};
-} // defaultimplementation
-} // framework
-} // storage
+}
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
index ad2d0df5824..e4560370a01 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.cpp
@@ -25,7 +25,7 @@ ComponentRegisterImpl::~ComponentRegisterImpl() = default;
void
ComponentRegisterImpl::registerComponent(ManagedComponent& mc)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
_components.push_back(&mc);
if (_clock) {
mc.setClock(*_clock);
@@ -42,7 +42,7 @@ ComponentRegisterImpl::registerComponent(ManagedComponent& mc)
void
ComponentRegisterImpl::requestShutdown(vespalib::stringref reason)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
if (_shutdownListener) {
_shutdownListener->requestShutdown(reason);
}
@@ -53,7 +53,7 @@ ComponentRegisterImpl::setMetricManager(metrics::MetricManager& mm)
{
std::vector<ManagedComponent*> components;
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
assert(_metricManager == nullptr);
components = _components;
_metricManager = &mm;
@@ -70,7 +70,7 @@ ComponentRegisterImpl::setMetricManager(metrics::MetricManager& mm)
void
ComponentRegisterImpl::setClock(Clock& c)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
assert(_clock == nullptr);
_clock = &c;
for (auto* component : _components) {
@@ -81,7 +81,7 @@ ComponentRegisterImpl::setClock(Clock& c)
void
ComponentRegisterImpl::setThreadPool(ThreadPool& tp)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
assert(_threadPool == nullptr);
_threadPool = &tp;
for (auto* component : _components) {
@@ -92,7 +92,7 @@ ComponentRegisterImpl::setThreadPool(ThreadPool& tp)
void
ComponentRegisterImpl::setUpgradeFlag(UpgradeFlags flag)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
_upgradeFlag = flag;
for (auto* component : _components) {
component->setUpgradeFlag(_upgradeFlag);
@@ -102,7 +102,7 @@ ComponentRegisterImpl::setUpgradeFlag(UpgradeFlags flag)
const StatusReporter*
ComponentRegisterImpl::getStatusReporter(vespalib::stringref id)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
for (auto* component : _components) {
if ((component->getStatusReporter() != nullptr)
&& (component->getStatusReporter()->getId() == id))
@@ -117,7 +117,7 @@ std::vector<const StatusReporter*>
ComponentRegisterImpl::getStatusReporters()
{
std::vector<const StatusReporter*> reporters;
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
for (auto* component : _components) {
if (component->getStatusReporter() != nullptr) {
reporters.emplace_back(component->getStatusReporter());
@@ -153,7 +153,7 @@ ComponentRegisterImpl::registerUpdateHook(vespalib::stringref name,
MetricUpdateHook& hook,
SecondTime period)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
auto hookPtr = std::make_unique<MetricHookWrapper>(name, hook);
_metricManager->addMetricUpdateHook(*hookPtr, period.getTime());
_hooks.emplace_back(std::move(hookPtr));
@@ -168,7 +168,7 @@ ComponentRegisterImpl::getMetricManagerLock()
void
ComponentRegisterImpl::registerShutdownListener(ShutdownListener& listener)
{
- vespalib::LockGuard lock(_componentLock);
+ std::lock_guard lock(_componentLock);
assert(_shutdownListener == nullptr);
_shutdownListener = &listener;
}
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
index b5f79313dfb..3adef5f4838 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/component/componentregisterimpl.h
@@ -21,7 +21,6 @@
#include <vespa/storageframework/generic/component/managedcomponent.h>
#include <vespa/storageframework/generic/metric/metricregistrator.h>
#include <vespa/storageframework/generic/status/statusreportermap.h>
-#include <vespa/vespalib/util/sync.h>
#include <vespa/metrics/metricset.h>
namespace metrics {
@@ -43,7 +42,7 @@ class ComponentRegisterImpl : public virtual ComponentRegister,
public StatusReporterMap,
public MetricRegistrator
{
- vespalib::Lock _componentLock;
+ std::mutex _componentLock;
std::vector<ManagedComponent*> _components;
metrics::MetricSet _topMetricSet;
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.cpp b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.cpp
index affeae44c04..e4a1188030c 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.cpp
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.cpp
@@ -21,7 +21,7 @@ ThreadPoolImpl::ThreadPoolImpl(Clock& clock)
ThreadPoolImpl::~ThreadPoolImpl()
{
{
- vespalib::LockGuard lock(_threadVectorLock);
+ std::lock_guard lock(_threadVectorLock);
_stopping = true;
for (ThreadImpl * thread : _threads) {
thread->interrupt();
@@ -32,7 +32,7 @@ ThreadPoolImpl::~ThreadPoolImpl()
}
for (uint32_t i=0; true; i+=10) {
{
- vespalib::LockGuard lock(_threadVectorLock);
+ std::lock_guard lock(_threadVectorLock);
if (_threads.empty()) break;
}
if (i > 1000) {
@@ -49,7 +49,7 @@ Thread::UP
ThreadPoolImpl::startThread(Runnable& runnable, vespalib::stringref id, uint64_t waitTimeMs,
uint64_t maxProcessTime, int ticksBeforeWait)
{
- vespalib::LockGuard lock(_threadVectorLock);
+ std::lock_guard lock(_threadVectorLock);
if (_stopping) {
throw IllegalStateException("Threadpool is stopping", VESPA_STRLOC);
}
@@ -62,7 +62,7 @@ ThreadPoolImpl::startThread(Runnable& runnable, vespalib::stringref id, uint64_t
void
ThreadPoolImpl::visitThreads(ThreadVisitor& visitor) const
{
- vespalib::LockGuard lock(_threadVectorLock);
+ std::lock_guard lock(_threadVectorLock);
for (const ThreadImpl * thread : _threads) {
visitor.visitThread(thread->getId(), thread->getProperties(), thread->getTickData());
}
@@ -71,7 +71,7 @@ ThreadPoolImpl::visitThreads(ThreadVisitor& visitor) const
void
ThreadPoolImpl::unregisterThread(ThreadImpl& t)
{
- vespalib::LockGuard lock(_threadVectorLock);
+ std::lock_guard lock(_threadVectorLock);
std::vector<ThreadImpl*> threads;
threads.reserve(_threads.size());
for (ThreadImpl * thread : _threads) {
diff --git a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h
index 4e973c2ad20..5f0ee523eff 100644
--- a/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h
+++ b/storageframework/src/vespa/storageframework/defaultimplementation/thread/threadpoolimpl.h
@@ -4,7 +4,6 @@
#include <vespa/storageframework/generic/thread/threadpool.h>
#include <vespa/fastos/thread.h>
-#include <vespa/vespalib/util/sync.h>
namespace storage::framework::defaultimplementation {
@@ -14,13 +13,13 @@ struct ThreadPoolImpl : public ThreadPool
{
FastOS_ThreadPool _backendThreadPool;
std::vector<ThreadImpl*> _threads;
- vespalib::Lock _threadVectorLock;
+ mutable std::mutex _threadVectorLock;
Clock & _clock;
bool _stopping;
public:
ThreadPoolImpl(Clock&);
- ~ThreadPoolImpl();
+ ~ThreadPoolImpl() override;
Thread::UP startThread(Runnable&, vespalib::stringref id, uint64_t waitTimeMs,
uint64_t maxProcessTime, int ticksBeforeWait) override;
diff --git a/streamingvisitors/src/vespa/searchvisitor/searchenvironment.cpp b/streamingvisitors/src/vespa/searchvisitor/searchenvironment.cpp
index 107a1b44208..614d11aabfa 100644
--- a/streamingvisitors/src/vespa/searchvisitor/searchenvironment.cpp
+++ b/streamingvisitors/src/vespa/searchvisitor/searchenvironment.cpp
@@ -57,7 +57,7 @@ SearchEnvironment::SearchEnvironment(const config::ConfigUri & configUri) :
SearchEnvironment::~SearchEnvironment()
{
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_threadLocals.clear();
}
@@ -68,12 +68,12 @@ SearchEnvironment::getEnv(const vespalib::string & searchCluster)
if (_localEnvMap == nullptr) {
EnvMapUP envMap = std::make_unique<EnvMap>();
_localEnvMap = envMap.get();
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_threadLocals.emplace_back(std::move(envMap));
}
EnvMap::iterator localFound = _localEnvMap->find(searchCluster);
if (localFound == _localEnvMap->end()) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
EnvMap::iterator found = _envMap.find(searchCluster);
if (found == _envMap.end()) {
LOG(debug, "Init VSMAdapter with config id = '%s'", searchCluster.c_str());
diff --git a/streamingvisitors/src/vespa/searchvisitor/searchenvironment.h b/streamingvisitors/src/vespa/searchvisitor/searchenvironment.h
index 126b8370105..3dce03e9402 100644
--- a/streamingvisitors/src/vespa/searchvisitor/searchenvironment.h
+++ b/streamingvisitors/src/vespa/searchvisitor/searchenvironment.h
@@ -19,7 +19,7 @@ private:
public:
typedef std::shared_ptr<Env> SP;
Env(const vespalib::string & muffens, const config::ConfigUri & configUri, Fast_NormalizeWordFolder & wf);
- ~Env();
+ ~Env() override;
const vsm::VSMAdapter * getVSMAdapter() const { return _vsmAdapter.get(); }
const RankManager * getRankManager() const { return _rankManager.get(); }
void configure(const config::ConfigSnapshot & snapshot) override;
@@ -38,7 +38,7 @@ private:
static __thread EnvMap * _localEnvMap;
EnvMap _envMap;
ThreadLocals _threadLocals;
- vespalib::Lock _lock;
+ std::mutex _lock;
Fast_NormalizeWordFolder _wordFolder;
config::ConfigUri _configUri;
diff --git a/vbench/src/vbench/core/dispatcher.h b/vbench/src/vbench/core/dispatcher.h
index 212cf04a06e..03e036fe261 100644
--- a/vbench/src/vbench/core/dispatcher.h
+++ b/vbench/src/vbench/core/dispatcher.h
@@ -36,8 +36,8 @@ private:
bool _closed;
public:
- Dispatcher(Handler<T> &fallback);
- ~Dispatcher();
+ explicit Dispatcher(Handler<T> &fallback);
+ ~Dispatcher() override;
bool waitForThreads(size_t threads, size_t pollCnt) const;
void close() override;
void handle(std::unique_ptr<T> obj) override;
diff --git a/vbench/src/vbench/http/http_connection_pool.cpp b/vbench/src/vbench/http/http_connection_pool.cpp
index ffe6518e374..b949279b7d3 100644
--- a/vbench/src/vbench/http/http_connection_pool.cpp
+++ b/vbench/src/vbench/http/http_connection_pool.cpp
@@ -19,7 +19,7 @@ HttpConnection::UP
HttpConnectionPool::getConnection(const ServerSpec &server)
{
double now = _timer.sample();
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
auto res = _map.insert(std::make_pair(server, _store.size()));
if (res.second) {
_store.emplace_back();
@@ -40,7 +40,7 @@ void
HttpConnectionPool::putConnection(HttpConnection::UP conn)
{
double now = _timer.sample();
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
conn->touch(now);
size_t idx = _map[conn->server()];
assert(idx < _store.size());
diff --git a/vbench/src/vbench/http/http_connection_pool.h b/vbench/src/vbench/http/http_connection_pool.h
index 5dd9eb6361c..f5c279e7efe 100644
--- a/vbench/src/vbench/http/http_connection_pool.h
+++ b/vbench/src/vbench/http/http_connection_pool.h
@@ -5,7 +5,6 @@
#include "http_connection.h"
#include <vbench/core/timer.h>
#include <vespa/vespalib/util/arrayqueue.hpp>
-#include <vespa/vespalib/util/sync.h>
#include <map>
namespace vbench {
@@ -22,7 +21,7 @@ private:
typedef std::map<ServerSpec, size_t> Map;
using CryptoEngine = vespalib::CryptoEngine;
- vespalib::Lock _lock;
+ std::mutex _lock;
Map _map;
std::vector<Queue> _store;
CryptoEngine::SP _crypto;
diff --git a/vdslib/src/tests/thread/taskschedulertest.cpp b/vdslib/src/tests/thread/taskschedulertest.cpp
index 1925625172c..54877fae62b 100644
--- a/vdslib/src/tests/thread/taskschedulertest.cpp
+++ b/vdslib/src/tests/thread/taskschedulertest.cpp
@@ -2,7 +2,6 @@
#include <vespa/vdslib/thread/taskscheduler.h>
#include <vespa/vespalib/gtest/gtest.h>
-#include <vespa/vespalib/util/time.h>
#include <thread>
namespace vdslib {
@@ -10,24 +9,24 @@ namespace vdslib {
namespace {
struct TestWatch : public TaskScheduler::Watch {
- vespalib::Lock _lock;
+ mutable std::mutex _lock;
uint64_t _time;
TestWatch(uint64_t startTime = 0) : _time(startTime) {}
- ~TestWatch() {}
+ ~TestWatch() = default;
TaskScheduler::Time getTime() const override {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
return _time;
}
void increment(uint64_t ms) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_time += ms;
}
void set(uint64_t ms) {
- vespalib::LockGuard guard(_lock);
+ std::lock_guard guard(_lock);
_time = ms;
}
};