From: Hwankyu Jhun Date: Mon, 6 Nov 2023 07:18:15 +0000 (+0900) Subject: Modify thread control X-Git-Tag: accepted/tizen/unified/20231107.172843~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=182e6ba867f16e5ba2e6fc75092f5a772351b006;p=platform%2Fcore%2Fappfw%2Flaunchpad.git Modify thread control This patch uses std::condition_variable::wait_for() instead of std::condition_variable::wait(). The timeout is 5 seconds. Change-Id: I6a5f89bbf4450679c8527121f76966c6451eab52 Signed-off-by: Hwankyu Jhun --- diff --git a/src/lib/launchpad/thread_control.cc b/src/lib/launchpad/thread_control.cc index 41b2ed1..680b305 100644 --- a/src/lib/launchpad/thread_control.cc +++ b/src/lib/launchpad/thread_control.cc @@ -177,9 +177,12 @@ void ThreadControl::SignalHandler(int signo) { auto& inst = ThreadControl::GetInst(); std::unique_lock lock(inst.mutex_); inst.count_--; - inst.cond_.wait(lock, [&] { return inst.done_; }); + if (inst.cond_.wait_for(lock, std::chrono::seconds(5), + [&] { return inst.done_; })) + _D("Unblock"); + else + _E("Timed out"); inst.count_--; - _D("Unblock"); } } // namespace launchpad