Improve msc_register_thread() 35/239335/8
authorhj kim <backto.kim@samsung.com>
Fri, 24 Jul 2020 04:50:25 +0000 (13:50 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 28 Jul 2020 05:54:13 +0000 (14:54 +0900)
Change-Id: If9605d58e4a687728d4613f013da01b474a131bb

src/scanner/media-scanner-scan.c

index 240a1a8..8b94084 100644 (file)
@@ -518,40 +518,37 @@ gpointer msc_register_thread(gpointer data)
 
        while (1) {
                register_data = g_async_queue_pop(reg_queue);
+
                if (register_data->pid == POWEROFF) {
-                       MS_DBG_WARN("power off");
-                       goto _POWEROFF;
+                       MS_DBG_ERR("power off");
+                       g_free(register_data);
+                       return NULL;
                }
 
-               if (register_data->msg_type != MS_MSG_BULK_INSERT) {
-                       MS_DBG_ERR("wrong message type");
-                       ret = MS_MEDIA_ERR_INVALID_PARAMETER;
-                       goto NEXT;
-               }
+               if (register_data->msg_type == MS_MSG_BULK_INSERT) {
+                       ret = __msc_make_file_list(register_data->msg, &path_array, register_data->uid);
+                       if (ret == MS_MEDIA_ERR_NONE) {
+                               MS_DBG_SLOG("BULK REGISTER START [%.*s]", MAX_MSG_SIZE, register_data->msg);
+                               ret = __msc_batch_insert(register_data->pid, path_array, register_data->uid);
+                               g_ptr_array_free(path_array, TRUE);
+                               path_array = NULL;
+                               MS_DBG_WARN("BULK REGISTER END [%d]", ret);
+                       } else {
+                               MS_DBG_ERR("__msc_make_file_list failed [%d]", ret);
+                       }
+               } else {
 
-               ret = __msc_make_file_list(register_data->msg, &path_array, register_data->uid);
-               if (ret != MS_MEDIA_ERR_NONE) {
-                       MS_DBG_ERR("__msc_make_file_list failed [%d]", ret);
-                       goto NEXT;
+                       MS_DBG_ERR("invalid message type [%d]", register_data->msg_type);
+                       ret = MS_MEDIA_ERR_INVALID_PARAMETER;
                }
 
-               MS_DBG_SLOG("BULK REGISTER START [%.*s]", MAX_MSG_SIZE, register_data->msg);
-               ret = __msc_batch_insert(register_data->pid, path_array, register_data->uid);
-               g_ptr_array_free(path_array, TRUE);
-               path_array = NULL;
-
-NEXT:
                /*Active flush */
                malloc_trim(0);
 
                msc_send_result(ret, register_data);
                g_free(register_data);
-               MS_DBG_WARN("BULK REGISTER END [%d]", ret);
        }                       /*thread while*/
 
-_POWEROFF:
-       g_free(register_data);
-
        return NULL;
 }