Fixed start detection logic 49/208849/1
authorAtul Rai <a.rai@samsung.com>
Tue, 18 Jun 2019 10:33:04 +0000 (16:03 +0530)
committersaerome kim <saerome.kim@samsung.com>
Mon, 1 Jul 2019 02:03:29 +0000 (11:03 +0900)
Change-Id: I832dc8858b51a9ea14bd941daa70416083185901
Signed-off-by: Atul Rai <a.rai@samsung.com>
ua-daemon/include/ua-manager-core.h
ua-daemon/src/ua-manager-core.c

index b5d6ac7..277b2e4 100644 (file)
@@ -46,7 +46,7 @@ typedef enum {
 typedef struct {
        char *name;
        unsigned int cycle;
-       unsigned int remaining_time;
+       int remaining_time;
        GSList *monitors;
        GSList *dev_techs;
 } uam_db_service_info_t;
index 75f9ffc..e9b6877 100644 (file)
@@ -1623,14 +1623,16 @@ static gboolean __start_detection(gpointer data)
        for (l = services; NULL != l; l = g_slist_next(l)) {
                service = l->data;
 
+               UAM_DBG("service: %p, monitors: %p", service, service->monitors);
                if (!service || !service->monitors)
                        continue;
 
-               if (0 == service->remaining_time) {
+               UAM_DBG("service->remaining_time: %d", service->remaining_time);
+               service->remaining_time -= UAM_DETECTION_CYCLE_MIN;
+               if (0 >= service->remaining_time) {
                        start_detection = TRUE;
                        service->remaining_time = service->cycle;
-               } else
-                       service->remaining_time -= UAM_DETECTION_CYCLE_MIN;
+               }
        }
 
        if (!start_detection)