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;
}