Fix a bug about getting running context 57/234057/1
authorHwankyu Jhun <h.jhun@samsung.com>
Thu, 21 May 2020 08:57:46 +0000 (17:57 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Thu, 21 May 2020 09:47:14 +0000 (18:47 +0900)
Change-Id: I6f8566531a1500e2cb70230fe90585cc76f6e5a5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
inc/amd_comp_status.h
src/core/amd_app_status.c
src/core/amd_comp_status.c

index a3ccbdb06a9b3ab8f2ca3ff82af8eaec9060eb2d..ade624efbde4c1d07e3d1608634fef3bbb443ec0 100644 (file)
@@ -58,6 +58,8 @@ int _comp_status_get_status(comp_status_h h);
 
 int _comp_status_set_window(comp_status_h h, int window);
 
+bool _comp_status_is_running(comp_status_h h);
+
 int _comp_status_init(void);
 
 void _comp_status_fini(void);
index fb50a2e5b659b88d166777b7eced873fb4974d07..c8d9057d6d7d510a058038dfc21a9ef8338ef16b 100644 (file)
@@ -2170,10 +2170,10 @@ static int __dispatch_app_get_running_context(request_h req)
                                _request_get_target_uid(req));
        }
 
-       if (comp_status) {
+       if (_comp_status_is_running(comp_status)) {
                instance_id = _comp_status_get_instance_id(comp_status);
                pid = _comp_status_get_pid(comp_status);
-       } else if (app_status) {
+       } else if (_app_status_is_running(app_status) > 0) {
                instance_id = _app_status_get_instance_id(app_status);
                pid = _app_status_get_pid(app_status);
        } else {
index e9b56648b3e1160a50bcc938ed3f3fc9c7bfc96f..dff5588ca5ab13402bb2da62349645b1001239e1 100644 (file)
@@ -371,6 +371,19 @@ int _comp_status_get_status(comp_status_h h)
        return comp_status->status;
 }
 
+bool _comp_status_is_running(comp_status_h h)
+{
+       struct comp_status_s *comp_status = (struct comp_status_s *)h;
+
+       if (!comp_status)
+               return false;
+
+       if (comp_status->status == COMP_STATUS_DESTROYED)
+               return false;
+
+       return true;
+}
+
 static int __on_main_app_dead(const char *msg, int arg1, int arg2, void *arg3,
                bundle *b)
 {
@@ -649,11 +662,7 @@ static int __dispatch_comp_context_is_running(request_h req)
        }
 
        comp_status = _comp_status_find_by_instance_id(instance_id);
-       if (!comp_status || comp_status->status == COMP_STATUS_DESTROYED)
-               is_running = 0;
-       else
-               is_running = 1;
-
+       is_running = (int)_comp_status_is_running(comp_status);
        _request_send_result(req, is_running);
        _I("[COMP_CONTEXT_IS_RUNNING] is_running(%s)",
                        is_running ? "true" : "false");