|
|
@@ -2,6 +2,7 @@
|
|
|
#include "inner_log.h"
|
|
|
//#include "md5.h"
|
|
|
#include "sds.h"
|
|
|
+#include "baseFun.h"
|
|
|
|
|
|
// change from 100ms to 1000s, reduce wake up when app switch to back
|
|
|
#define LOG_PRODUCER_FLUSH_INTERVAL_MS 100
|
|
|
@@ -17,11 +18,6 @@
|
|
|
log_producer_manager* g_producer_manager[10];
|
|
|
int producer_manager_num = 0;
|
|
|
|
|
|
-#ifdef WIN32
|
|
|
-DWORD WINAPI log_producer_send_thread(LPVOID param);
|
|
|
-#else
|
|
|
-void* log_producer_send_thread(void* param);
|
|
|
-#endif
|
|
|
|
|
|
void _try_flush_loggroup(log_producer_manager* producer_manager)
|
|
|
{
|
|
|
@@ -281,14 +277,15 @@ void* log_producer_write_persistent_thread(void* param)
|
|
|
int lens;
|
|
|
int first_process = 1;
|
|
|
int32_t now;
|
|
|
- int32_t last_write_time = time(NULL);
|
|
|
+ int32_t last_write_time = (int32_t)time(NULL);
|
|
|
shareq_frame share_frame = {0};
|
|
|
- serialize_buf buf = { 0 };
|
|
|
+ serialize_buf buf;
|
|
|
+ memset(&buf, 0, sizeof(serialize_buf));
|
|
|
int t_count = 0;
|
|
|
int discardMsg = 0;
|
|
|
log_producer_manager* producer_manager = (log_producer_manager*)param;
|
|
|
log_persistent_manager* persistent_manager;
|
|
|
- share_frame.data = &buf;
|
|
|
+ share_frame.data = reinterpret_cast<unsigned char *>(&buf);
|
|
|
aos_info_log((LB, "start run write persistent thread"));
|
|
|
while (producer_manager->shutdown == 0)
|
|
|
{
|
|
|
@@ -357,13 +354,13 @@ void* log_producer_write_persistent_thread(void* param)
|
|
|
if (result != LOG_PRODUCER_OK) {
|
|
|
aos_warn_log((LB, "get from share queue, uuid %s begin failed.", buf.uuid));
|
|
|
}
|
|
|
- result = log_persistent_manager_save_log(persistent_manager, share_frame.data);
|
|
|
+ result = log_persistent_manager_save_log(persistent_manager, (serialize_buf*)share_frame.data);
|
|
|
if (result != LOG_PRODUCER_OK) {
|
|
|
aos_warn_log((LB, "get from share queue, uuid %s save failed.", buf.uuid));
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- result = log_persistent_manager_save_log(persistent_manager, share_frame.data);
|
|
|
+ result = log_persistent_manager_save_log(persistent_manager, (serialize_buf*)share_frame.data);
|
|
|
if (result != LOG_PRODUCER_OK) {
|
|
|
aos_warn_log((LB, "get from share queue, uuid %s save failed.", buf.uuid));
|
|
|
}
|
|
|
@@ -404,10 +401,11 @@ void* log_producer_flush_thread(void* param)
|
|
|
{
|
|
|
void* data = NULL;
|
|
|
shareq_frame frame = { 0 };
|
|
|
- serialize_buf buf = { 0 };
|
|
|
+ serialize_buf buf;
|
|
|
+ memset(&buf, 0, sizeof(serialize_buf));
|
|
|
log_producer_manager* producer_manager = (log_producer_manager*)g_producer_manager[i];
|
|
|
log_persistent_manager* persistent_manager;
|
|
|
- frame.data = &buf;
|
|
|
+ frame.data = (unsigned char*)&buf;
|
|
|
aos_info_log((LB, "start run flusher thread"));
|
|
|
|
|
|
persistent_manager = producer_manager->persistent_manager;
|
|
|
@@ -424,7 +422,7 @@ void* log_producer_flush_thread(void* param)
|
|
|
int insert_result = 0;
|
|
|
log_group_builder* builder = (log_group_builder*)data;
|
|
|
memset(frame.data, 0, sizeof(serialize_buf));
|
|
|
- serialize_to_buf(&builder->grp->logs[0], frame.data);
|
|
|
+ serialize_to_buf(&builder->grp->logs[0], (serialize_buf*)frame.data);
|
|
|
frame.size = sizeof(serialize_buf);
|
|
|
CS_ENTER(persistent_manager->lock);
|
|
|
insert_result = ClibsharequeueInsert(producer_manager->share_queue, &frame, 0);
|
|
|
@@ -479,7 +477,7 @@ log_producer_manager* create_log_producer_manager(log_producer_config* producer_
|
|
|
producer_manager->share_queue = ClibsharequeueCreate3("RVC_LOG_SDK_QUEUE", 1);
|
|
|
}
|
|
|
producer_manager->send_param_queue_size = base_queue_size * 2;
|
|
|
- producer_manager->send_param_queue = malloc(sizeof(log_producer_send_param*) * producer_manager->send_param_queue_size);
|
|
|
+ producer_manager->send_param_queue = (log_producer_send_param**)malloc(sizeof(log_producer_send_param*) * producer_manager->send_param_queue_size);
|
|
|
|
|
|
producer_manager->triger_cond = CreateCond();
|
|
|
producer_manager->lock = CreateCriticalSection();
|