Fix storage scan thread crash issue when first boot 53/79053/1 accepted/tizen/ivi/20160708.051955 accepted/tizen/mobile/20160708.051903 accepted/tizen/tv/20160708.051921 accepted/tizen/wearable/20160708.051939 submit/tizen/20160708.041155
authorMinje Ahn <minje.ahn@samsung.com>
Fri, 8 Jul 2016 03:54:14 +0000 (12:54 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Fri, 8 Jul 2016 03:54:14 +0000 (12:54 +0900)
Change-Id: Ibda1a0316d62de4abd75924d0b853ff5f0f11166
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
packaging/media-server.spec
src/mediadb-update.c

index bcaf38f..5564ee6 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       media-server
 Summary:    A server for media content management
-Version:    0.2.95
+Version:    0.2.96
 Release:    0
 Group:      Multimedia/Service
 License:    Apache-2.0
index 9feb86f..1edb45d 100755 (executable)
@@ -292,9 +292,18 @@ static void __check_mmc(void)
                        for (i = 0; i < dev_num; i++) {
                                block_info = (block_info_s *)g_array_index(dev_list, int *, i);
                                if (info_exist) {
-                                       ret = svc_delete_storage(db_handle, "media", storage_name, tzplatform_getuid(TZ_USER_NAME), &err_msg);
                                        __get_mmc_id(&insert_stg_id);
-                                       ret = svc_insert_storage(db_handle, "media", 1, insert_stg_id, block_info->mount_path, tzplatform_getuid(TZ_USER_NAME), &err_msg);
+
+                                       if (strncmp(storage_name, insert_stg_id, strlen(insert_stg_id)) == 0 && strncmp(storage_path, block_info->mount_path, strlen(block_info->mount_path)) == 0) {
+                                               if (validity == 0) {
+                                                       ret = svc_set_storage_validity(db_handle, "media", 1, tzplatform_getuid(TZ_USER_NAME), &err_msg);
+                                                       if (ret < 0)
+                                                               printf("Error svc_set_storage_validity\n");
+                                               }
+                                       } else {
+                                               ret = svc_delete_storage(db_handle, "media", storage_name, tzplatform_getuid(TZ_USER_NAME), &err_msg);
+                                               ret = svc_insert_storage(db_handle, "media", 1, insert_stg_id, block_info->mount_path, tzplatform_getuid(TZ_USER_NAME), &err_msg);
+                                       }
                                        MU_SAFE_FREE(insert_stg_id);
                                } else {
                                        __get_mmc_id(&insert_stg_id);
@@ -304,9 +313,11 @@ static void __check_mmc(void)
                        }
                        __release_device_list(&dev_list);
                } else {
-                       ret = svc_set_storage_validity(db_handle, "media", 0, tzplatform_getuid(TZ_USER_NAME), &err_msg);
-                       if (ret < 0)
-                               printf("Error svc_set_storage_validity\n");
+                       if (validity == 1) {
+                               ret = svc_set_storage_validity(db_handle, "media", 0, tzplatform_getuid(TZ_USER_NAME), &err_msg);
+                               if (ret < 0)
+                                       printf("Error svc_set_storage_validity\n");
+                       }
                }
        } else {
                printf("__get_device_list failed\n");