diff options
author | Håvard Pettersen <havardpe@yahooinc.com> | 2023-02-22 09:18:36 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@yahooinc.com> | 2023-02-22 10:43:14 +0000 |
commit | ed321ca9a3d53acf088cd88d19e6ccf107bd0e76 (patch) | |
tree | e65b39fe9a8ff9852c78219b43d275650b28ebaf /searchcore/src | |
parent | 6c4c2f2a432896ee5ae2f6f8320342627840dab8 (diff) |
stop using FastOS_ThreadId
Diffstat (limited to 'searchcore/src')
5 files changed, 24 insertions, 39 deletions
diff --git a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp index 0234d5fbedf..6f034161ac4 100644 --- a/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp +++ b/searchcore/src/tests/proton/documentdb/maintenancecontroller/maintenancecontroller_test.cpp @@ -82,9 +82,9 @@ namespace { VESPA_THREAD_STACK_TAG(my_executor_init); void -sampleThreadId(FastOS_ThreadId *threadId) +sampleThreadId(std::thread::id *threadId) { - *threadId = FastOS_Thread::GetCurrentThreadId(); + *threadId = std::this_thread::get_id(); } } // namespace @@ -207,12 +207,12 @@ class MyFeedHandler : public IDocumentMoveHandler, public IHeartBeatHandler, public IOperationStorer { - FastOS_ThreadId _executorThreadId; + std::thread::id _executorThreadId; std::vector<MyDocumentSubDB *> _subDBs; SerialNum _serialNum; std::atomic<uint32_t> _heartBeats; public: - explicit MyFeedHandler(FastOS_ThreadId &executorThreadId); + explicit MyFeedHandler(std::thread::id executorThreadId); ~MyFeedHandler() override; @@ -241,7 +241,7 @@ public: class MyExecutor : public vespalib::ThreadStackExecutorBase { public: - FastOS_ThreadId _threadId; + std::thread::id _threadId; MyExecutor(); bool acceptNewTask(unique_lock &, std::condition_variable &) override { @@ -604,7 +604,7 @@ MyDocumentSubDB::getNumUsedLids() const } -MyFeedHandler::MyFeedHandler(FastOS_ThreadId &executorThreadId) +MyFeedHandler::MyFeedHandler(std::thread::id executorThreadId) : IDocumentMoveHandler(), IPruneRemovedDocumentsHandler(), IHeartBeatHandler(), @@ -622,8 +622,7 @@ MyFeedHandler::~MyFeedHandler() = default; bool MyFeedHandler::isExecutorThread() const { - FastOS_ThreadId threadId(FastOS_Thread::GetCurrentThreadId()); - return FastOS_Thread::CompareThreadIds(_executorThreadId, threadId); + return (_executorThreadId == std::this_thread::get_id()); } diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp index 74f6a622661..27650b27c77 100644 --- a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.cpp @@ -3,7 +3,6 @@ #include "executor_thread_service.h" #include <vespa/vespalib/util/lambdatask.h> #include <vespa/vespalib/util/gate.h> -#include <vespa/fastos/thread.h> using vespalib::makeLambdaTask; using vespalib::Executor; @@ -14,27 +13,20 @@ using vespalib::SyncableThreadExecutor; namespace proton { -namespace internal { - -struct ThreadId { - FastOS_ThreadId _id; -}; -} - namespace { void -sampleThreadId(FastOS_ThreadId *threadId) +sampleThreadId(std::thread::id *threadId) { - *threadId = FastOS_Thread::GetCurrentThreadId(); + *threadId = std::this_thread::get_id(); } -std::unique_ptr<internal::ThreadId> +std::thread::id getThreadId(ThreadExecutor &executor) { - std::unique_ptr<internal::ThreadId> id = std::make_unique<internal::ThreadId>(); + std::thread::id id; vespalib::Gate gate; - executor.execute(makeLambdaTask([threadId=&id->_id, &gate] { + executor.execute(makeLambdaTask([threadId = &id, &gate] { sampleThreadId(threadId); gate.countDown(); })); @@ -74,8 +66,7 @@ ExecutorThreadService::run(Runnable &runnable) bool ExecutorThreadService::isCurrentThread() const { - FastOS_ThreadId currentThreadId = FastOS_Thread::GetCurrentThreadId(); - return FastOS_Thread::CompareThreadIds(_threadId->_id, currentThreadId); + return (_threadId == std::this_thread::get_id()); } vespalib::ExecutorStats ExecutorThreadService::getStats() { @@ -118,8 +109,7 @@ SyncableExecutorThreadService::run(Runnable &runnable) bool SyncableExecutorThreadService::isCurrentThread() const { - FastOS_ThreadId currentThreadId = FastOS_Thread::GetCurrentThreadId(); - return FastOS_Thread::CompareThreadIds(_threadId->_id, currentThreadId); + return (_threadId == std::this_thread::get_id()); } vespalib::ExecutorStats diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h index 7298b81611a..48b8d8be9b9 100644 --- a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h +++ b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h @@ -3,10 +3,10 @@ #include <vespa/searchcorespi/index/i_thread_service.h> #include <vespa/vespalib/util/threadexecutor.h> +#include <thread> namespace proton { -namespace internal { struct ThreadId; } /** * Implementation of IThreadService using an underlying thread stack executor * with a single thread. @@ -15,7 +15,7 @@ class ExecutorThreadService : public searchcorespi::index::IThreadService { private: vespalib::ThreadExecutor &_executor; - std::unique_ptr<internal::ThreadId> _threadId; + std::thread::id _threadId; public: ExecutorThreadService(vespalib::ThreadExecutor &executor); @@ -39,8 +39,8 @@ public: class SyncableExecutorThreadService : public searchcorespi::index::ISyncableThreadService { private: - vespalib::SyncableThreadExecutor &_executor; - std::unique_ptr<internal::ThreadId> _threadId; + vespalib::SyncableThreadExecutor &_executor; + std::thread::id _threadId; public: SyncableExecutorThreadService(vespalib::SyncableThreadExecutor &executor); @@ -66,5 +66,3 @@ public: }; } // namespace proton - - diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp index c86019005dc..fa8b86416d0 100644 --- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.cpp @@ -6,8 +6,7 @@ #include <vespa/searchcorespi/index/i_thread_service.h> #include <vespa/searchcore/proton/common/scheduledexecutor.h> #include <vespa/vespalib/util/lambdatask.h> -#include <vespa/fastos/thread.h> -#include <thread> +#include <vespa/vespalib/util/thread.h> #include <vespa/log/log.h> LOG_SETUP(".proton.server.maintenancecontroller"); @@ -16,6 +15,7 @@ using document::BucketId; using vespalib::Executor; using vespalib::MonitoredRefCount; using vespalib::makeLambdaTask; +using vespalib::thread::as_zu; namespace proton { @@ -69,7 +69,7 @@ MaintenanceController::killJobs() } // Called by master write thread assert(_masterThread.isCurrentThread()); - LOG(debug, "killJobs(): threadId=%zu", (size_t)FastOS_Thread::GetCurrentThreadId()); + LOG(debug, "killJobs(): threadId=%zu", as_zu(std::this_thread::get_id())); _periodicTaskHandles.clear(); // No need to take _jobsLock as modification of _jobs also happens in master write thread. for (auto &job : _jobs) { @@ -99,7 +99,7 @@ void MaintenanceController::performHoldJobs(JobList jobs) { // Called by master write thread - LOG(debug, "performHoldJobs(): threadId=%zu", (size_t)FastOS_Thread::GetCurrentThreadId()); + LOG(debug, "performHoldJobs(): threadId=%zu", as_zu(std::this_thread::get_id())); (void) jobs; } diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp index 5e6cee94292..e580066ec17 100644 --- a/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/maintenancejobrunner.cpp @@ -1,7 +1,6 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #include "maintenancejobrunner.h" -#include <vespa/fastos/thread.h> #include <vespa/vespalib/util/cpu_usage.h> #include <vespa/vespalib/util/lambdatask.h> @@ -54,10 +53,9 @@ MaintenanceJobRunner::runJobInExecutor() } bool finished = _job->run(); if (LOG_WOULD_LOG(debug)) { - FastOS_ThreadId threadId = FastOS_Thread::GetCurrentThreadId(); LOG(debug, - "runJobInExecutor(): job='%s', task='%p', threadId=%" PRIu64 "", - _job->getName().c_str(), this, (uint64_t)threadId); + "runJobInExecutor(): job='%s', task='%p'", + _job->getName().c_str(), this); } if (!finished) { addExecutorTask(); |