in src/log_producer_manager.c [284:306]
void _push_last_loggroup(log_producer_manager * manager)
{
CS_ENTER(manager->lock);
log_group_builder * builder = manager->builder;
manager->builder = NULL;
if (builder != NULL)
{
size_t loggroup_size = builder->loggroup_size;
aos_debug_log("try push loggroup to flusher, size : %d, log size %d", (int)builder->loggroup_size, (int)builder->grp->logs.now_buffer_len);
int32_t status = log_queue_push(manager->loggroup_queue, builder);
if (status != 0)
{
aos_error_log("try push loggroup to flusher failed, force drop this log group, error code : %d", status);
log_group_destroy(builder);
}
else
{
manager->totalBufferSize += loggroup_size;
COND_SIGNAL(manager->triger_cond);
}
}
CS_LEAVE(manager->lock);
}