Fix queue_job 37/108137/2
authorSangyoon Jang <s89.jang@samsung.com>
Tue, 3 Jan 2017 06:24:29 +0000 (15:24 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 3 Jan 2017 06:35:19 +0000 (15:35 +0900)
When multiple job queued and some job failed, the server cannot process
next job because queue_job() never invoked.

Return TRUE to continue invoking queue_job() until no job available.

Change-Id: I207ced8359ea177233c6d637b94ac6277a0a175c
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/pkgmgr-server.c

index dc8e153..47002d1 100644 (file)
@@ -1477,7 +1477,7 @@ gboolean queue_job(void *data)
 
        /* all backend messages queue are empty or busy */
        if (x == num_of_backends || job == NULL) {
-               DBG("no job left");
+               DBG("no job available");
                return FALSE;
        }
 
@@ -1493,7 +1493,7 @@ gboolean queue_job(void *data)
                        ret = -1;
                        _send_fail_signal(job);
                        _free_backend_job(job);
-                       return FALSE;
+                       return TRUE;
                }
        }
 #endif
@@ -1625,7 +1625,7 @@ gboolean queue_job(void *data)
                break;
        }
 
-       return FALSE;
+       return TRUE;
 }
 
 int main(int argc, char *argv[])