1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2025-12-10 17:42:29 +01:00

JobPool: Simplify lock guard objects (#25281)

This commit is contained in:
Silent
2025-10-01 08:13:53 +02:00
committed by GitHub
parent 522a5c82fd
commit 4029254263
2 changed files with 5 additions and 7 deletions

View File

@@ -29,7 +29,7 @@ JobPool::JobPool(size_t maxThreads)
JobPool::~JobPool()
{
{
unique_lock lock(_mutex);
std::lock_guard lock(_mutex);
_shouldStop = true;
}
_condPending.notify_all();
@@ -44,7 +44,7 @@ JobPool::~JobPool()
void JobPool::AddTask(std::function<void()> workFn, std::function<void()> completionFn)
{
{
unique_lock lock(_mutex);
std::lock_guard lock(_mutex);
_pending.emplace_back(workFn, completionFn);
}
_condPending.notify_one();
@@ -52,7 +52,7 @@ void JobPool::AddTask(std::function<void()> workFn, std::function<void()> comple
void JobPool::Join(std::function<void()> reportFn)
{
unique_lock lock(_mutex);
std::unique_lock lock(_mutex);
while (true)
{
// Wait for the queue to become empty or having completed tasks.
@@ -93,13 +93,13 @@ void JobPool::Join(std::function<void()> reportFn)
bool JobPool::IsBusy()
{
unique_lock lock(_mutex);
std::lock_guard lock(_mutex);
return _processing != 0 || !_pending.empty();
}
void JobPool::ProcessQueue()
{
unique_lock lock(_mutex);
std::unique_lock lock(_mutex);
do
{
// Wait for work or cancellation.

View File

@@ -36,8 +36,6 @@ private:
std::condition_variable _condComplete;
std::mutex _mutex;
using unique_lock = std::unique_lock<std::mutex>;
public:
JobPool(size_t maxThreads = 255);
~JobPool();