return 0;
}
+static int __sync_process(char *req_key)
+{
+ int ret =0;
+ char info_file[PKG_STRING_LEN_MAX] = {'\0', };
+ int result = 0;
+ int check_cnt = 0;
+ FILE *fp;
+ char buffer[PKG_ARGC_MAX] = {'\0', };
+
+ snprintf(info_file, PKG_STRING_LEN_MAX, "%s/%s", PKG_TMP_PATH, req_key);
+ while(1)
+ {
+ check_cnt ++;
+ if (access(info_file, F_OK) != 0) {
+ _LOGD("file is not generated yet.... wait\n", info_file);
+ usleep(10 * 1000); /* 10ms sleep*/
+ } else {
+ fp = fopen(info_file, "r");
+ if (fp == NULL) {
+ _LOGE("fopen failed\n");
+ break;
+ }
+ fread(&buffer, sizeof(buffer), 1, fp);
+ fclose(fp);
+
+ result = atoi(buffer);
+ _LOGD("info_file file is generated, result = %d. \n", result);
+ break;
+ }
+
+ if (check_cnt > 500) { /* 5s time over*/
+ _LOGD("wait time over!!\n");
+ break;
+ }
+ }
+
+ const char *rm_argv[] = { "/bin/rm", "-rf", info_file, NULL };
+ ret = __xsystem(rm_argv);
+ if (ret < 0)
+ _LOGE("__xsystem failed, ret=%d\n", ret);
+
+ return result;
+}
static int __csc_process(const char *csc_path, char *result_path)
{
int ret = 0;
char *temp = NULL;
int i = 0;
char buf[128] = {'\0'};
- char size_info_file[PKG_STRING_LEN_MAX] = {'\0', };
- int pkg_size = 0;
- int check_cnt = 0;
- FILE *fp;
- char buffer[PKG_ARGC_MAX] = {'\0', };
pkgmgr_client_t *mpc = (pkgmgr_client_t *) pc;
retvm_if(mpc->ctype != PC_REQUEST, PKGMGR_R_EINVAL, "mpc->ctype is not PC_REQUEST\n");
}
_LOGD("[args] %s [len] %d\n", args, len);
- /* 6. request install */
+ /* request */
ret = comm_client_request(mpc->info.request.cc, req_key, COMM_REQ_GET_SIZE, pkgtype, pkgid, args, NULL, 1);
-
- snprintf(size_info_file, PKG_STRING_LEN_MAX, "%s/%s", PKG_TMP_PATH, req_key);
- while(1)
- {
- check_cnt ++;
- if (access(size_info_file, F_OK) != 0) {
- _LOGD("file is not generated yet.... wait\n", size_info_file);
- usleep(10 * 1000); /* 10ms sleep*/
- } else {
- _LOGD("size_info_file file is generated!!\n");
-
- fp = fopen(size_info_file, "r");
- if (fp == NULL) {
- _LOGE("fopen failed\n");
- break;
- }
- fread(&buffer, sizeof(buffer), 1, fp);
- fclose(fp);
-
- pkg_size = atoi(buffer);
- _LOGD("pkg_sizepkg_size == > %d!!\n", pkg_size);
-
- break;
- }
-
- if (check_cnt > 500) { /* 5s time over*/
- _LOGD("wait time over!!\n");
- break;
- }
- }
-
- const char *rm_argv[] = { "/bin/rm", "-rf", size_info_file, NULL };
- ret = __xsystem(rm_argv);
if (ret < 0)
- _LOGE("__xsystem failed, ret=%d\n", ret);
+ _LOGE("comm_client_request failed, ret=%d\n", ret);
- ret = pkg_size;
+ ret = __sync_process(req_key);
if (ret < 0)
- _LOGE("request failed, ret=%d\n", ret);
+ _LOGE("get size failed, ret=%d\n", ret);
catch:
for (i = 0; i < argcnt; i++)
installer_path = _get_backend_path_with_type(pkgtype);
req_key = __get_req_key(pkgid);
req_id = _get_request_id();
- __add_op_cbinfo(mpc, req_id, req_key, event_cb, data);
/* generate argv */
snprintf(buf, 128, "%d", move_type);
}
_LOGD("[args] %s [len] %d\n", args, len);
- /* 6. request install */
+ /* 6. request */
ret = comm_client_request(mpc->info.request.cc, req_key, COMM_REQ_TO_MOVER, pkgtype, pkgid, args, NULL, 1);
if (ret < 0)
- _LOGE("request failed, ret=%d\n", ret);
+ _LOGE("comm_client_request failed, ret=%d\n", ret);
+
+ ret = __sync_process(pkgid);
+ if (ret != 0)
+ _LOGE("move pkg failed, ret=%d\n", ret);
catch:
for (i = 0; i < argcnt; i++)
tryvm_if((service_mode < PM_MOVE_TO_INTERNAL) || (service_mode > PM_MOVE_TO_SDCARD), ret = PKGMGR_R_EINVAL, "service_mode is wrong\n");
ret = __move_pkg_process(pc, pkgid, (pkgmgr_move_type)service_mode, event_cb, data);
- if (ret < 0)
- _LOGE("__move_pkg_process fail \n");
- else
- ret = PKGMGR_R_OK;
-
break;
case PM_REQUEST_GET_SIZE:
tryvm_if((service_mode < PM_GET_TOTAL_SIZE) || (service_mode > PM_GET_DATA_SIZE), ret = PKGMGR_R_EINVAL, "service_mode is wrong\n");
ret = __get_size_process(pc, pkgid, (pkgmgr_getsize_type)service_mode, event_cb, data);
- if (ret < 0)
- _LOGE("__get_size_process fail \n");
-
break;
case PM_REQUEST_KILL_APP: