goto NEXT;
}
+ ms_set_db_status(MS_DB_UPDATING);
+
ret = ms_connect_db(&handle, scan_data->uid);
if (ret != MS_MEDIA_ERR_NONE) {
MS_DBG_ERR("ms_connect_db failed");
+ ms_set_db_status(MS_DB_UPDATED);
goto NEXT;
}
ret = __msc_check_memory_status(scan_data->uid);
if (ret != MS_MEDIA_ERR_NONE) {
+ ms_set_db_status(MS_DB_UPDATED);
ms_set_storage_scan_status(scan_data->storage_id, MEDIA_SCAN_STOP, scan_data->uid);
MS_DBG_ERR("storage_id = [%s]", scan_data->storage_id);
msc_insert_exactor_request(scan_data->msg_type, true, scan_data->storage_id, scan_data->msg, scan_data->pid, scan_data->uid, MS_ITEM_UPDATE);
ms_set_storage_scan_status(scan_data->storage_id, MEDIA_SCAN_PROCESSING, scan_data->uid);
- ms_set_db_status(MS_DB_UPDATING);
-
if (scan_data->msg_type != MS_MSG_STORAGE_INVALID)
ms_register_start(false, 0);
ms_get_added_storage_path(mount_path, &storage_id);
+ /* update storage_id table set validity=0 first */
+ ms_validity_change_all_items(handle, storage_id, false, uid);
+ /* update folder table set validity=0 first */
+ ms_set_folder_validity(handle, mount_path, MS_INVALID, true, uid);
+ /* update folder table set scan_status=0 first */
+ ms_set_folder_scan_status(storage_id, NULL, MS_DIR_SCAN_NONE, uid);
+
if (storage_id != NULL) {
/* update storage information into media DB */
ret = ms_check_storage(handle, storage_id, &storage_path, &validity);
goto ERROR;
}
- /* update storage_id table set validity=0 first */
- ms_validity_change_all_items(handle, storage_id, false, uid);
- /* update folder table set validity=0 first */
- ms_set_folder_validity(handle, mount_path, MS_INVALID, true, uid);
- /* update folder table set scan_status=0 first */
- ms_set_folder_scan_status(storage_id, NULL, MS_DIR_SCAN_NONE, uid);
-
/* request to update media db */
ms_send_storage_scan_request(mount_path, storage_id, scan_type, uid);
}
void ms_reset_scanner_status(void)
{
- g_mutex_lock(ms_get_scanner_mutex());
- MS_DBG_WARN("ms_reset_scanner_status lock...");
+ if (!scanner_cleaned) {
+ g_mutex_lock(ms_get_scanner_mutex());
+ MS_DBG_WARN("ms_reset_scanner_status lock...");
- child_pid = 0;
- scanner_ready = false;
- ms_reset_request_count();
- g_mutex_unlock(ms_get_scanner_mutex());
+ child_pid = 0;
+ scanner_ready = false;
+ ms_reset_request_count();
+ g_mutex_unlock(ms_get_scanner_mutex());
+ }
}
int ms_get_scanner_pid(void)
g_mutex_lock(ms_get_scanner_mutex());
+ if (send_msg->msg_type != MS_MSG_DIRECTORY_SCANNING_CANCEL) {
+ ret = __ms_add_owner(send_msg->pid, client_sock, send_msg->msg);
+ MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "__ms_add_owner failed [%d]", ret);
+ }
+
if (ms_get_scanner_status()) {
MS_DBG_WARN("Scanner is ready");
__ms_send_request(send_msg);
MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "__ms_send_request failed [%d]", ret);
}
- if (send_msg->msg_type != MS_MSG_DIRECTORY_SCANNING_CANCEL) {
- ret = __ms_add_owner(send_msg->pid, client_sock, send_msg->msg);
- MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, ret, "__ms_add_owner failed [%d]", ret);
- }
-
return ret;
}