diff options
Diffstat (limited to 'include/mbgl/util/run_loop.hpp')
-rw-r--r-- | include/mbgl/util/run_loop.hpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/include/mbgl/util/run_loop.hpp b/include/mbgl/util/run_loop.hpp index 5236850d83..acbea80273 100644 --- a/include/mbgl/util/run_loop.hpp +++ b/include/mbgl/util/run_loop.hpp @@ -16,7 +16,7 @@ namespace mbgl { namespace util { -typedef void * LOOP_HANDLE; +using LOOP_HANDLE = void *; class RunLoop : public Scheduler, private util::noncopyable { @@ -62,14 +62,11 @@ public: push(task); return std::make_unique<WorkRequest>(task); } - - // Invoke fn(args...) on this RunLoop, then invoke callback(results...) on the current RunLoop. - template <class Fn, class... Args> - std::unique_ptr<AsyncRequest> - invokeWithCallback(Fn&& fn, Args&&... args) { - std::shared_ptr<WorkTask> task = WorkTask::makeWithCallback(std::forward<Fn>(fn), std::forward<Args>(args)...); - push(task); - return std::make_unique<WorkRequest>(task); + + void schedule(std::weak_ptr<Mailbox> mailbox) override { + invoke([mailbox] () { + Mailbox::maybeReceive(mailbox); + }); } class Impl; @@ -81,12 +78,6 @@ private: void push(std::shared_ptr<WorkTask>); - void schedule(std::weak_ptr<Mailbox> mailbox) override { - invoke([mailbox] () { - Mailbox::maybeReceive(mailbox); - }); - } - void withMutex(std::function<void()>&& fn) { std::lock_guard<std::mutex> lock(mutex); fn(); |