SEND_SHUTDOWN = 999,
};
-pthread_mutex_t mutex_screenshot = PTHREAD_MUTEX_INITIALIZER;
-pthread_cond_t cond_screenshot = PTHREAD_COND_INITIALIZER;
-
static int seq_req_id = 0;
static uint16_t svr_port = 0;
static int stop_heartbeat = 0;
static int recv_heartbeat_count = 0;
static pthread_t thread_id_heartbeat;
+
+static pthread_mutex_t mutex_send_data = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t mutex_recv_heartbeat_count = PTHREAD_MUTEX_INITIALIZER;
+pthread_mutex_t mutex_screenshot = PTHREAD_MUTEX_INITIALIZER;
+pthread_cond_t cond_screenshot = PTHREAD_COND_INITIALIZER;
static int skin_argc = 0;
static char** skin_argv = NULL;
}
}
+ pthread_mutex_destroy(&mutex_send_data);
+ pthread_mutex_destroy(&mutex_recv_heartbeat_count);
}
void notify_sensor_daemon_start(void)
make_header(sockfd, send_cmd, 0, headerbuf, print_log);
+ /* send */
+ pthread_mutex_lock(&mutex_send_data);
+
int send_count = send(sockfd, headerbuf, SEND_HEADER_SIZE, 0);
+ pthread_mutex_unlock(&mutex_send_data);
+
return send_count;
}
char headerbuf[SEND_HEADER_SIZE] = { 0, };
+ if (data == NULL) {
+ ERR("send data is NULL.\n");
+ return -1;
+ }
+
make_header(sockfd, send_cmd, length, headerbuf, 1);
- int header_cnt = send(sockfd, headerbuf, SEND_HEADER_SIZE, 0);
+ /* send */
+ pthread_mutex_lock(&mutex_send_data);
+ int header_cnt = send(sockfd, headerbuf, SEND_HEADER_SIZE, 0);
if (0 > header_cnt) {
ERR("send header for data is NULL.\n");
- return header_cnt;
- }
+ pthread_mutex_unlock(&mutex_send_data);
- if (!data) {
- ERR("send data is NULL.\n");
- return -1;
+ return header_cnt;
}
int send_cnt = send_n(sockfd, data, length, big_data);
+
+ pthread_mutex_unlock(&mutex_send_data);
+
TRACE("send_n result:%d\n", send_cnt);
return send_cnt;