summaryrefslogtreecommitdiff
path: root/src/mbgl/actor
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-12-02 10:40:59 +0200
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-12-02 14:12:18 +0200
commit7bacf5696ca90dd3f3496988ad0658b357cb7ec1 (patch)
tree55c0988f8ea6a5c2f32c1f9df7d4e3f0bc26481c /src/mbgl/actor
parente373d8a5924e4f4cf3904ecacbf1d1cf86a5d60f (diff)
downloadqtlocation-mapboxgl-7bacf5696ca90dd3f3496988ad0658b357cb7ec1.tar.gz
[core] Introduce Pass<> class and use it for Scheduler
Thus we enforce client to retain the returned `Scheduler` objects.
Diffstat (limited to 'src/mbgl/actor')
-rw-r--r--src/mbgl/actor/scheduler.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mbgl/actor/scheduler.cpp b/src/mbgl/actor/scheduler.cpp
index 0e051d0273..d765cfcf65 100644
--- a/src/mbgl/actor/scheduler.cpp
+++ b/src/mbgl/actor/scheduler.cpp
@@ -27,7 +27,7 @@ Scheduler* Scheduler::GetCurrent() {
}
// static
-std::shared_ptr<Scheduler> Scheduler::GetBackground() {
+PassRefPtr<Scheduler> Scheduler::GetBackground() {
static std::weak_ptr<Scheduler> weak;
static std::mutex mtx;
@@ -38,11 +38,11 @@ std::shared_ptr<Scheduler> Scheduler::GetBackground() {
weak = scheduler = std::make_shared<ThreadPool>();
}
- return scheduler;
+ return PassRefPtr<Scheduler>(std::move(scheduler));
}
// static
-std::shared_ptr<Scheduler> Scheduler::GetSequenced() {
+PassRefPtr<Scheduler> Scheduler::GetSequenced() {
const std::size_t kSchedulersCount = 10;
static std::vector<std::weak_ptr<Scheduler>> weaks(kSchedulersCount);
static std::mutex mtx;
@@ -65,7 +65,7 @@ std::shared_ptr<Scheduler> Scheduler::GetSequenced() {
break;
}
- return result;
+ return PassRefPtr<Scheduler>(std::move(result));
}
} //namespace mbgl