From: Piotr Kosko
Date: Fri, 2 Oct 2020 11:07:26 +0000 (+0200)
Subject: Merge branch 'tizen_4.0' into tizen_5.0
X-Git-Tag: submit/tizen/20201005.050422~1^2^2
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=83350e983b2aa86175c4bb20e907ddf982465ffe;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
Merge branch 'tizen_4.0' into tizen_5.0
Change-Id: Ic5b2736ab945e3c39cea6f32aae8d5532dd74558
---
83350e983b2aa86175c4bb20e907ddf982465ffe
diff --cc src/common/task-queue.cpp
index fe551a5e,f5202107..c743a781
--- a/src/common/task-queue.cpp
+++ b/src/common/task-queue.cpp
@@@ -62,16 -61,13 +62,20 @@@ void TaskQueue::DeleteJobs()
}
}
-void TaskQueue::Async(const std::function& work) {
+void TaskQueue::Stop() {
+ LoggerI("Stopping TaskQueue workers");
+ queue_worker_.stop();
+ async_worker_.stop();
+}
+
+void TaskQueue::ScheduleWorkInMainThread(const std::function& work) {
QueueData* d = new QueueData();
- d->after_work_callback_ = work;
- if (!g_idle_add(AfterWorkCallback, d)) {
+ d->work_callback_ = work;
- g_idle_add(WorkCallback, d);
++
++ if (!g_idle_add(WorkCallback, d)) {
+ LoggerE("g_idle_add failed");
+ delete d;
+ }
}
} // namespace common
diff --cc src/common/task-queue.h
index c44cc09c,94a97af4..1fe88797
--- a/src/common/task-queue.h
+++ b/src/common/task-queue.h
@@@ -178,17 -142,13 +178,21 @@@ void TaskQueue::Queue(const std::functi
template
void TaskQueue::Async(const std::function&)>& work,
const std::shared_ptr& data) {
+ auto do_work = [data, work]() { work(data); };
+ this->async_worker_.add_job(do_work);
+}
+
+template
+void TaskQueue::ScheduleWorkInMainThread(const std::function&)>& work,
+ const std::shared_ptr& data) {
QueueData* d = new QueueData();
- d->after_work_callback_ = work;
+ d->work_callback_ = work;
d->data_ = data;
- g_idle_add(WorkCallback, d);
- if (!g_idle_add(AfterWorkCallback, d)) {
++
++ if (!g_idle_add(WorkCallback, d)) {
+ LoggerE("g_idle_add failed");
+ delete d;
+ }
}
} // namespace common