summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMinje Ahn <minje.ahn@samsung.com>2018-03-07 16:36:24 +0900
committerMinje Ahn <minje.ahn@samsung.com>2018-03-07 16:36:24 +0900
commitf2c27307d527ecc96fd94a61b5c443c44e45ad05 (patch)
tree073173858d9913d29a48f1b291eca1936b69627f /src
parent082f108bc92d609a72046a401f1b31ef1c21479f (diff)
downloadlibmedia-thumbnail-f2c27307d527ecc96fd94a61b5c443c44e45ad05.tar.gz
libmedia-thumbnail-f2c27307d527ecc96fd94a61b5c443c44e45ad05.tar.bz2
libmedia-thumbnail-f2c27307d527ecc96fd94a61b5c443c44e45ad05.zip
1. Modified result compare 2. Remove response for kill-msg 3. Remove block send Change-Id: Idde2423e5054e9813a746ee89779aaee35a62f8d Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/ipc/media-thumb-ipc.c42
1 files changed, 10 insertions, 32 deletions
diff --git a/src/ipc/media-thumb-ipc.c b/src/ipc/media-thumb-ipc.c
index 9f652a2..feaff11 100755
--- a/src/ipc/media-thumb-ipc.c
+++ b/src/ipc/media-thumb-ipc.c
@@ -31,7 +31,6 @@
#include <grp.h>
#include <pwd.h>
-#define THUMB_SOCK_BLOCK_SIZE 512
#define THUMB_IPC_PATH tzplatform_mkpath(TZ_SYS_RUN, "media-server/media_ipc_thumbcreator.socket")
static GQueue *g_manage_queue = NULL;
@@ -246,26 +245,19 @@ bool __media_thumb_check_cancel_for_raw(void)
int _media_thumb_recv_msg(int sock, int header_size, thumbMsg *msg)
{
- int recv_msg_len = 0;
int remain_size = 0;
- int block_size = THUMB_SOCK_BLOCK_SIZE;
- int recv_block = 0;
unsigned char *buf = NULL;
- unsigned char *block_buf = NULL;
THUMB_MALLOC(buf, header_size);
- THUMB_MALLOC(block_buf, THUMB_SOCK_BLOCK_SIZE);
- if (buf == NULL || block_buf == NULL) {
+ if (buf == NULL) {
thumb_err("memory allocation failed");
SAFE_FREE(buf);
- SAFE_FREE(block_buf);
return MS_MEDIA_ERR_OUT_OF_MEMORY;
}
- if ((recv_msg_len = recv(sock, buf, header_size, 0)) <= 0) {
+ if (recv(sock, buf, header_size, 0) < 0) {
thumb_stderror("recv failed");
SAFE_FREE(buf);
- SAFE_FREE(block_buf);
return _media_thumb_get_error();
}
@@ -287,31 +279,19 @@ int _media_thumb_recv_msg(int sock, int header_size, thumbMsg *msg)
SAFE_FREE(buf);
if (msg->thumb_size < 0) {
thumb_err("recv data is wrong");
- SAFE_FREE(block_buf);
return MS_MEDIA_ERR_SOCKET_RECEIVE;
}
if (msg->thumb_size > 0) {
remain_size = msg->thumb_size;
THUMB_MALLOC(buf, remain_size);
- if (buf == NULL) {
- SAFE_FREE(block_buf);
+ if (buf == NULL)
return MS_MEDIA_ERR_OUT_OF_MEMORY;
- }
- while (remain_size > 0) {
- if (remain_size < THUMB_SOCK_BLOCK_SIZE) {
- block_size = remain_size;
- }
- if ((recv_msg_len = recv(sock, block_buf, block_size, 0)) < 0) {
- thumb_stderror("recv failed");
- SAFE_FREE(buf);
- SAFE_FREE(block_buf);
- return _media_thumb_get_error();
- }
- memcpy(buf+recv_block, block_buf, block_size);
- recv_block += block_size;
- remain_size -= block_size;
+ if (recv(sock, buf, remain_size, 0) < 0) {
+ thumb_stderror("recv failed");
+ SAFE_FREE(buf);
+ return _media_thumb_get_error();
}
SAFE_FREE(msg->thumb_data);
@@ -320,14 +300,12 @@ int _media_thumb_recv_msg(int sock, int header_size, thumbMsg *msg)
memcpy(msg->thumb_data, buf, msg->thumb_size);
} else {
SAFE_FREE(buf);
- SAFE_FREE(block_buf);
return MS_MEDIA_ERR_OUT_OF_MEMORY;
}
}
SAFE_FREE(buf);
- SAFE_FREE(block_buf);
return MS_MEDIA_ERR_NONE;
}
@@ -513,8 +491,8 @@ static int _media_thumb_send_request()
int buf_size = 0;
_media_thumb_set_buffer(&req_msg, &buf, &buf_size);
- if (send(sock, buf, buf_size, 0) != buf_size) {
- thumb_err("sendto failed: %d", errno);
+ if (send(sock, buf, buf_size, 0) < 0) {
+ thumb_err("send failed: %d", errno);
SAFE_FREE(buf);
g_source_destroy(g_main_context_find_source_by_id(g_main_context_get_thread_default(), source_id));
g_io_channel_shutdown(channel, TRUE, NULL);
@@ -605,7 +583,7 @@ static int _media_thumb_raw_data_send_request()
int buf_size = 0;
_media_thumb_set_buffer(&req_msg, &buf, &buf_size);
- if (send(sock, buf, buf_size, 0) != buf_size) {
+ if (send(sock, buf, buf_size, 0) < 0) {
thumb_err("sendto failed: %d", errno);
SAFE_FREE(buf);
g_source_destroy(g_main_context_find_source_by_id(g_main_context_get_thread_default(), source_id));