summaryrefslogtreecommitdiff
path: root/src/mbgl/util/thread_pool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/util/thread_pool.cpp')
-rw-r--r--src/mbgl/util/thread_pool.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mbgl/util/thread_pool.cpp b/src/mbgl/util/thread_pool.cpp
index e839d1b4be..d8df0cd575 100644
--- a/src/mbgl/util/thread_pool.cpp
+++ b/src/mbgl/util/thread_pool.cpp
@@ -26,11 +26,10 @@ ThreadPool::ThreadPool(std::size_t count) {
return;
}
- auto mailbox = queue.front();
+ auto function = std::move(queue.front());
queue.pop();
lock.unlock();
-
- Mailbox::maybeReceive(mailbox);
+ if (function) function();
}
});
}
@@ -49,10 +48,10 @@ ThreadPool::~ThreadPool() {
}
}
-void ThreadPool::schedule(std::weak_ptr<Mailbox> mailbox) {
+void ThreadPool::schedule(std::function<void()> fn) {
{
std::lock_guard<std::mutex> lock(mutex);
- queue.push(mailbox);
+ queue.push(std::move(fn));
}
cv.notify_one();