else
MSAPI_DBG_ERR("origin path size is wrong.");
- return FALSE;
+ return G_SOURCE_REMOVE;
}
if (strlen(recv_msg.msg) == 0 || strlen(recv_msg.msg) >= MAX_FILEPATH_LEN) {
MSAPI_DBG_ERR("msg size is invlid");
- return FALSE;
+ return G_SOURCE_REMOVE;
}
MSAPI_DBG("Completed. msg_type[%d], msg[%.*s], result[%d]", recv_msg.msg_type, MAX_FILEPATH_LEN, recv_msg.msg, recv_msg.result);
MSAPI_DBG("Done");
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static int __media_dcm_send_request()
sockfd = g_io_channel_unix_get_fd(src);
if (sockfd < 0) {
MSAPI_DBG("sock fd is invalid!");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
memset(&recv_msg, 0x0, sizeof(ms_comm_msg_s));
if ((recv_msg_size = read(sockfd, &recv_msg, sizeof(ms_comm_msg_s))) < 0) {
MSAPI_DBG_STRERROR("recv failed");
- return FALSE;
+ return G_SOURCE_REMOVE;
}
if (strlen(recv_msg.msg) > 0 && strlen(recv_msg.msg) < MAX_MSG_SIZE) {
req_result.complete_path = g_strdup(recv_msg.msg);
MSAPI_DBG("complete_path :%s", req_result.complete_path);
} else {
MSAPI_DBG("The message is invalid!");
- return FALSE;
+ return G_SOURCE_REMOVE;
}
req_result.pid = recv_msg.pid;
default:
MSAPI_DBG("Invalid msg_type[%d]", recv_msg.msg_type);
MS_SAFE_FREE(req_result.complete_path);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
MSAPI_DBG("pid[%d] result[%d] request_type[%d]", req_result.pid, req_result.result, req_result.request_type);
MS_SAFE_FREE(req_result.complete_path);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
static int _add_request(const char * req_path, media_callback_data *cb_data, GIOChannel *channel, guint source_id)
int err = -1;
sockfd = g_io_channel_unix_get_fd(src);
- MS_DBG_RETVM_IF(sockfd < 0, TRUE, "sock fd is invalid!");
+ MS_DBG_RETVM_IF(sockfd < 0, G_SOURCE_CONTINUE, "sock fd is invalid!");
MS_MALLOC(recv_msg, sizeof(ms_comm_msg_s));
- MS_DBG_RETVM_IF(!recv_msg, TRUE, "MS_MALLOC failed");
+ MS_DBG_RETVM_IF(!recv_msg, G_SOURCE_CONTINUE, "MS_MALLOC failed");
/* read() is blocked until media scanner sends message */
err = read(sockfd, recv_msg, sizeof(ms_comm_msg_s));
if (err < 0) {
MS_DBG_STRERROR("fifo read failed");
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (strlen(recv_msg->msg) == 0 || strlen(recv_msg->msg) >= MAX_MSG_SIZE) {
MS_DBG_ERR("msg size is invlid");
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (strlen(recv_msg->storage_id) >= MS_UUID_SIZE) {
MS_DBG_ERR("storage_id size is invlid");
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
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);
/*Active flush */
malloc_trim(0);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
int msc_send_ready(void)
GMainLoop *ms_db_get_mainloop(void);
gboolean ms_db_get_thread_status(void);
-gboolean ms_db_thread(void *data);
+gpointer ms_db_thread(gpointer data);
#endif/* _MEDIA_SERVER_DB_H_ */
return db_thread_ready;
}
-gboolean ms_db_thread(void *data)
+gpointer ms_db_thread(gpointer data)
{
int sockfd = -1;
int ret = MS_MEDIA_ERR_NONE;
/* Create TCP Socket*/
ret = ms_ipc_create_server_socket(MS_DB_UPDATE_PORT, &sockfd);
- if (ret != MS_MEDIA_ERR_NONE) {
- MS_DBG_ERR("Failed to create socket");
- return FALSE;
- }
+ MS_DBG_RETVM_IF(ret != MS_MEDIA_ERR_NONE, NULL, "Failed to create socket");
if (ms_cynara_enable_credentials_passing(sockfd) != MS_MEDIA_ERR_NONE) {
close(sockfd);
MS_DBG_ERR("Failed to set up credentials passing");
- return FALSE;
+ return NULL;
}
context = g_main_context_new();
g_main_loop_unref(g_db_mainloop);
- return FALSE;
+ return NULL;
}
sock = g_io_channel_unix_get_fd(src);
if (sock < 0) {
MS_DBG_ERR("sock fd is invalid!");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
client_addr_len = sizeof(client_addr);
if ((client_sock = accept(sock, (struct sockaddr*)&client_addr, &client_addr_len)) < 0) {
MS_DBG_STRERROR("accept failed");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
MS_DBG("Client[%d] is accepted", client_sock);
if (recv_msg == NULL) {
MS_DBG_ERR("Failed to allocate memory");
close(client_sock);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (__ms_dcm_recv_msg(client_sock, recv_msg) < 0) {
MS_DBG_ERR("__ms_dcm_recv_msg failed ");
close(client_sock);
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
dcmRequest *dcm_req = NULL;
MS_DBG_ERR("Failed to create request element");
close(client_sock);
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
dcm_req->client_sock = client_sock;
MS_SAFE_FREE(dcm_req->recv_msg);
MS_SAFE_FREE(dcm_req);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
MS_DBG_SLOG("[%.*s] is queued", MAX_FILEPATH_LEN, recv_msg->msg);
g_dcm_queue_work = 1;
}
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
gboolean _ms_dcm_agent_prepare_tcp_socket(int *sock_fd, unsigned short serv_port)
__ms_add_signal_handler();
/*create each threads*/
- db_thread = g_thread_new("db_thread", (GThreadFunc)ms_db_thread, NULL);
- thumb_thread = g_thread_new("thumb_agent_thread", (GThreadFunc)ms_thumb_agent_start_thread, NULL);
+ db_thread = g_thread_new("db_thread", ms_db_thread, NULL);
+ thumb_thread = g_thread_new("thumb_agent_thread", ms_thumb_agent_start_thread, NULL);
if (is_dcm_supported)
- dcm_thread = g_thread_new("dcm_agent_thread", (GThreadFunc)ms_dcm_agent_start_thread, NULL);
+ dcm_thread = g_thread_new("dcm_agent_thread", ms_dcm_agent_start_thread, NULL);
/*clear previous data of sdcard on media database and check db status for updating*/
while (!ms_db_get_thread_status()) {
if (task_num > 0) {
MS_DBG("[%d] task(s) remains", task_num);
g_mutex_unlock(&scanner_mutex);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (ms_check_scanning_status() == MS_DB_UPDATING) {
MS_DBG("DB is updating");
g_mutex_unlock(&scanner_mutex);
- return TRUE;
+ return G_SOURCE_CONTINUE;
} else {
MS_DBG("DB updating is not working");
}
if (ms_req_num > 0) {
MS_DBG("[%d] request(s) remain(s)", ms_req_num);
g_mutex_unlock(&scanner_mutex);
- return TRUE;
+ return G_SOURCE_CONTINUE;
} else {
MS_DBG("DB updating is not working");
}
MS_DBG_WARN("stop_scanner unlock...");
g_mutex_unlock(&scanner_mutex);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static int _ms_get_ini_config(const char *key)
ms_peer_credentials creds;
sockfd = g_io_channel_unix_get_fd(src);
- MS_DBG_RETVM_IF(sockfd < 0, TRUE, "sock fd is invalid!");
+ MS_DBG_RETVM_IF(sockfd < 0, G_SOURCE_CONTINUE, "sock fd is invalid!");
/* get client socket fd */
ret = ms_ipc_accept_client_tcp(sockfd, &client_sock);
- MS_DBG_RETV_IF(ret != MS_MEDIA_ERR_NONE, TRUE);
+ MS_DBG_RETV_IF(ret != MS_MEDIA_ERR_NONE, G_SOURCE_CONTINUE);
memset(&creds, 0, sizeof(creds));
/*Active flush */
malloc_trim(0);
- return TRUE;
+ return G_SOURCE_CONTINUE;
ERROR:
memset(&res_msg, 0x0, sizeof(ms_comm_msg_s));
ms_ipc_send_msg_to_client_tcp(client_sock, &res_msg, NULL);
close(client_sock);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
static int __ms_send_request(ms_comm_msg_s *send_msg)
sqlite3 *db_handle = (sqlite3 *)data;
ms_peer_credentials creds;
- MS_DBG_RETVM_IF(power_off, TRUE, "POWER OFF");
+ MS_DBG_RETVM_IF(power_off, G_SOURCE_CONTINUE, "POWER OFF");
sock = g_io_channel_unix_get_fd(src);
- MS_DBG_RETVM_IF(sock < 0, TRUE, "sock fd is invalid!");
+ MS_DBG_RETVM_IF(sock < 0, G_SOURCE_CONTINUE, "sock fd is invalid!");
/* get client socket fd */
ret = ms_ipc_accept_client_tcp(sock, &client_sock);
- MS_DBG_RETV_IF(ret != MS_MEDIA_ERR_NONE, TRUE);
+ MS_DBG_RETV_IF(ret != MS_MEDIA_ERR_NONE, G_SOURCE_CONTINUE);
memset(&creds, 0, sizeof(creds));
if (close(client_sock) < 0)
MS_DBG_STRERROR("close failed");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
gboolean ms_receive_message_from_scanner(GIOChannel *src, GIOCondition condition, gpointer data)
int err;
fd = g_io_channel_unix_get_fd(src);
- MS_DBG_RETVM_IF(fd < 0, TRUE, "fd is invalid!");
+ MS_DBG_RETVM_IF(fd < 0, G_SOURCE_CONTINUE, "fd is invalid!");
/* read() is blocked until media scanner sends message */
err = read(fd, &recv_msg, sizeof(recv_msg));
if (err < 0) {
MS_DBG_STRERROR("fifo read failed");
close(fd);
- return FALSE;
+ return G_SOURCE_REMOVE;
}
- MS_DBG_RETVM_IF(strlen(recv_msg.msg) == 0 || strlen(recv_msg.msg) >= MAX_MSG_SIZE, TRUE, "msg size is invalid!");
- MS_DBG_RETVM_IF(strlen(recv_msg.storage_id) >= MS_UUID_SIZE, TRUE, "storage_id size is invlid");
+ MS_DBG_RETVM_IF(strlen(recv_msg.msg) == 0 || strlen(recv_msg.msg) >= MAX_MSG_SIZE, G_SOURCE_CONTINUE, "msg size is invalid!");
+ MS_DBG_RETVM_IF(strlen(recv_msg.storage_id) >= MS_UUID_SIZE, G_SOURCE_CONTINUE, "storage_id size is invlid");
MS_DBG_SLOG("receive result from scanner [%d][%d] M[%.*s] S[%.*s]", recv_msg.pid, recv_msg.result, MAX_MSG_SIZE, recv_msg.msg, MS_UUID_SIZE, recv_msg.storage_id);
break;
default:
MS_DBG_ERR("Wrong MSG [%d]", recv_msg.msg_type);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (recv_msg.pid != 0)
__ms_send_result_to_client(recv_msg.pid, &recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
void ms_remove_request_owner(int pid, const char *req_path)
return TRUE;
}
-gboolean _ms_thumb_agent_read_socket(GIOChannel *src,
- GIOCondition condition,
- gpointer data)
+gboolean _ms_thumb_agent_read_socket(GIOChannel *src, GIOCondition condition, gpointer data)
{
struct sockaddr_un client_addr;
unsigned int client_addr_len;
sock = g_io_channel_unix_get_fd(src);
if (sock < 0) {
MS_DBG_ERR("sock fd is invalid!");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
client_addr_len = sizeof(client_addr);
if ((client_sock = accept(sock, (struct sockaddr*)&client_addr, &client_addr_len)) < 0) {
MS_DBG_STRERROR("accept failed");
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
MS_DBG("Client[%d] is accepted", client_sock);
if (recv_msg == NULL) {
MS_DBG_ERR("Failed to allocate memory");
close(client_sock);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
if (_ms_thumb_recv_msg(client_sock, recv_msg) < 0) {
MS_DBG_ERR("_ms_thumb_recv_msg failed ");
close(client_sock);
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
thumbRequest *thumb_req = NULL;
close(client_sock);
MS_SAFE_FREE(recv_msg->thumb_data);
MS_SAFE_FREE(recv_msg);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
thumb_req->client_sock = client_sock;
MS_SAFE_FREE(thumb_req->recv_msg);
MS_SAFE_FREE(thumb_req);
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
MS_DBG_SLOG("%s is queued", recv_msg->org_path);
g_queue_work = 1;
}
- return TRUE;
+ return G_SOURCE_CONTINUE;
}
gboolean _ms_thumb_agent_prepare_tcp_socket(int *sock_fd, unsigned short serv_port)