Use msc_push_scan_request() API instead of accessing queue directly 66/239466/7
authorhj kim <backto.kim@samsung.com>
Mon, 27 Jul 2020 03:21:15 +0000 (12:21 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 28 Jul 2020 06:01:52 +0000 (06:01 +0000)
And add parameter checking code.

Change-Id: Idf9bcf412271123b00d8518483d4a4dd5db28312

src/scanner-v2/media-scanner-socket-v2.c [changed mode: 0755->0644]
src/scanner/media-scanner-socket.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index 94f2158..66cc0b9
@@ -35,9 +35,7 @@
 #include "media-scanner-extract-v2.h"
 #define SUPPORT_PARTIAL_EVENT
 
-extern GAsyncQueue *storage_queue2;
 extern GAsyncQueue *scan_queue2;
-extern GAsyncQueue *reg_queue2;
 extern GMutex scan_req_mutex2;
 extern GAsyncQueue *folder_extract_queue;
 extern int g_directory_scan_processing2;
@@ -136,14 +134,12 @@ gboolean msc_receive_request(GIOChannel *src, GIOCondition condition, gpointer d
 {
        ms_comm_msg_s *recv_msg = NULL;
        int sockfd = MS_SOCK_NOT_ALLOCATE;
-       int req_num = MS_MSG_MAX;
        int err = -1;
 
+       MS_DBG_RETVM_IF(!src, G_SOURCE_CONTINUE, "src is invalid");
+
        sockfd = g_io_channel_unix_get_fd(src);
-       if (sockfd < 0) {
-               MS_DBG_ERR("sock fd is invalid!");
-               return G_SOURCE_CONTINUE;
-       }
+       MS_DBG_RETVM_IF(sockfd < 0, G_SOURCE_CONTINUE, "sock fd is invalid!");
 
        recv_msg = g_new0(ms_comm_msg_s, 1);
 
@@ -169,45 +165,27 @@ gboolean msc_receive_request(GIOChannel *src, GIOCondition condition, gpointer d
 
        MS_DBG_SLOG("receive msg from [%d][%d] M[%.*s] S[%.*s]", recv_msg->pid, recv_msg->msg_type, MAX_MSG_SIZE, recv_msg->msg, MS_UUID_SIZE, recv_msg->storage_id);
 
-       /* copy from recived data */
-       req_num = recv_msg->msg_type;
-
-       switch (req_num) {
+       switch (recv_msg->msg_type) {
        case MS_MSG_BULK_INSERT:
-               {
-                       MS_DBG_INFO("BULK INSERT");
-                       /* request bulk insert*/
-                       g_async_queue_push(reg_queue2, recv_msg);
-               }
+               msc_push_scan_request(MS_SCAN_REGISTER, recv_msg);
                break;
        case MS_MSG_DIRECTORY_SCANNING:
        case MS_MSG_DIRECTORY_SCANNING_NON_RECURSIVE:
-               {
-                       /* this request from another apps */
-                       /* set the scan data for scanning thread */
-                       g_async_queue_push(scan_queue2, recv_msg);
-               }
+               msc_push_scan_request(MS_SCAN_DIRECTORY, recv_msg);
                break;
        case MS_MSG_STORAGE_ALL:
        case MS_MSG_STORAGE_PARTIAL:
        case MS_MSG_STORAGE_INVALID:
-               {
-                       /* this request from media-server */
-                       g_async_queue_push(storage_queue2, recv_msg);
-               }
+               msc_push_scan_request(MS_SCAN_STORAGE, recv_msg);
                break;
        case MS_MSG_DIRECTORY_SCANNING_CANCEL:
-               {
-                       __msc_remove_request(scan_queue2, recv_msg);
-                       msc_send_result(MS_MEDIA_ERR_SCANNER_FORCE_STOP, recv_msg);
-                       g_free(recv_msg);
-               }
+               __msc_remove_request(scan_queue2, recv_msg);
+               msc_send_result(MS_MEDIA_ERR_SCANNER_FORCE_STOP, recv_msg);
+               g_free(recv_msg);
                break;
        default:
-               {
-                       MS_DBG_ERR("THIS REQUEST IS INVALID %d", req_num);
-                       g_free(recv_msg);
-               }
+               MS_DBG_ERR("THIS REQUEST IS INVALID %d", recv_msg->msg_type);
+               g_free(recv_msg);
                break;
        }
 
old mode 100755 (executable)
new mode 100644 (file)
index 97d180e..053c552
@@ -39,6 +39,8 @@ gboolean msc_receive_request(GIOChannel *src, GIOCondition condition, gpointer d
        int sockfd = MS_SOCK_NOT_ALLOCATE;
        int err = -1;
 
+       MS_DBG_RETVM_IF(!src, G_SOURCE_CONTINUE, "src is invalid");
+
        sockfd = g_io_channel_unix_get_fd(src);
        MS_DBG_RETVM_IF(sockfd < 0, G_SOURCE_CONTINUE, "sock fd is invalid!");