Set backend busy, recovery mode when needed only 04/58204/2
authorSangyoon Jang <s89.jang@samsung.com>
Thu, 28 Jan 2016 08:59:10 +0000 (17:59 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Thu, 28 Jan 2016 09:01:06 +0000 (18:01 +0900)
Change-Id: I1470c40051f47a58f2aa3fdb75d561262b237d88
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/pkgmgr-server.c

index bf33188..7af00fc 100644 (file)
@@ -1020,9 +1020,6 @@ gboolean queue_job(void *data)
        if (x == num_of_backends)
                return FALSE;
 
-       __set_backend_busy(x);
-       __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
-
        /*save pkg type and pkg name for future*/
        strncpy(ptr->pkgtype, item->pkg_type, MAX_PKG_TYPE_LEN-1);
        strncpy(ptr->pkgid, item->pkgid, MAX_PKG_NAME_LEN-1);
@@ -1032,15 +1029,23 @@ gboolean queue_job(void *data)
 
        switch (item->req_type) {
        case PKGMGR_REQUEST_TYPE_INSTALL:
+               __set_backend_busy(x);
+               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_install(item);
                break;
        case PKGMGR_REQUEST_TYPE_REINSTALL:
+               __set_backend_busy(x);
+               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_reinstall(item);
                break;
        case PKGMGR_REQUEST_TYPE_UNINSTALL:
+               __set_backend_busy(x);
+               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_uninstall(item);
                break;
        case PKGMGR_REQUEST_TYPE_MOVE:
+               __set_backend_busy(x);
+               __set_recovery_mode(item->uid, item->pkgid, item->pkg_type);
                ret = __process_move(item);
                break;
        case PKGMGR_REQUEST_TYPE_ENABLE:
@@ -1050,12 +1055,15 @@ gboolean queue_job(void *data)
                ret = __process_disable(item);
                break;
        case PKGMGR_REQUEST_TYPE_GETSIZE:
+               __set_backend_busy(x);
                ret = __process_getsize(item);
                break;
        case PKGMGR_REQUEST_TYPE_CLEARDATA:
+               __set_backend_busy(x);
                ret = __process_cleardata(item);
                break;
        case PKGMGR_REQUEST_TYPE_CLEARCACHE:
+               __set_backend_busy(x);
                ret = __process_clearcache(item);
                break;
        case PKGMGR_REQUEST_TYPE_ENABLE_GLOBAL_APP: