From e97dfe0b90a1b33b1661fdc0dc46dea05ed53cc4 Mon Sep 17 00:00:00 2001 From: liuwentan Date: Tue, 25 Apr 2023 15:07:19 +0800 Subject: [PATCH] fix g2g_runtime logger nullptr bug --- src/CMakeLists.txt | 2 +- src/maat_group.c | 48 +++++++++++++++++++++++----------------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3e51362..04910d6 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.5) set(MAAT_FRAME_MAJOR_VERSION 4) set(MAAT_FRAME_MINOR_VERSION 0) -set(MAAT_FRAME_PATCH_VERSION 0) +set(MAAT_FRAME_PATCH_VERSION 14) set(MAAT_FRAME_VERSION ${MAAT_FRAME_MAJOR_VERSION}.${MAAT_FRAME_MINOR_VERSION}.${MAAT_FRAME_PATCH_VERSION}) message(STATUS "Maat Frame, Version: ${MAAT_FRAME_VERSION}") diff --git a/src/maat_group.c b/src/maat_group.c index 397b08c..1bcd92b 100644 --- a/src/maat_group.c +++ b/src/maat_group.c @@ -50,7 +50,6 @@ struct maat_group_topology { struct maat_group *hash_group_by_vertex; //key: vetex_id, value: struct maat_group *. Multimap (Items with multiple keys). igraph_t group_graph; igraph_integer_t grp_vertex_id_generator; - struct log_handle *logger; }; @@ -158,44 +157,45 @@ void maat_group_topology_free(struct maat_group_topology *group_topo) struct maat_group *maat_group_clone(struct maat_group *group) { - struct maat_group *copy_group = ALLOC(struct maat_group, 1); + struct maat_group *group_copy = ALLOC(struct maat_group, 1); - copy_group->group_id = group->group_id; - copy_group->vertex_id = group->vertex_id; - copy_group->ref_by_sub_group_cnt = group->ref_by_sub_group_cnt; - copy_group->ref_by_super_group_cnt = group->ref_by_super_group_cnt; - copy_group->top_group_cnt = group->top_group_cnt; - if (copy_group->top_group_cnt > 0) { - copy_group->top_group_ids = ALLOC(long long, copy_group->top_group_cnt); - memcpy(copy_group->top_group_ids, group->top_group_ids, - copy_group->top_group_cnt * sizeof(long long)); + group_copy->group_id = group->group_id; + group_copy->vertex_id = group->vertex_id; + group_copy->ref_by_sub_group_cnt = group->ref_by_sub_group_cnt; + group_copy->ref_by_super_group_cnt = group->ref_by_super_group_cnt; + group_copy->top_group_cnt = group->top_group_cnt; + if (group_copy->top_group_cnt > 0) { + group_copy->top_group_ids = ALLOC(long long, group_copy->top_group_cnt); + memcpy(group_copy->top_group_ids, group->top_group_ids, + group_copy->top_group_cnt * sizeof(long long)); } - return copy_group; + return group_copy; } -struct maat_group_topology *maat_group_topology_clone(struct maat_group_topology *src_group_topo) +struct maat_group_topology *maat_group_topology_clone(struct maat_group_topology *group_topo) { - if (NULL == src_group_topo) { + if (NULL == group_topo) { return NULL; } - struct maat_group_topology *copy_group_topo = ALLOC(struct maat_group_topology, 1); + struct maat_group_topology *group_topo_copy = ALLOC(struct maat_group_topology, 1); struct maat_group *group = NULL, *tmp_group = NULL; - HASH_ITER(hh_group_id, copy_group_topo->hash_group_by_id, group, tmp_group) { - struct maat_group *copy_group = maat_group_clone(group); + HASH_ITER(hh_group_id, group_topo->hash_group_by_id, group, tmp_group) { + struct maat_group *group_copy = maat_group_clone(group); - HASH_ADD(hh_group_id, copy_group_topo->hash_group_by_id, group_id, - sizeof(copy_group->group_id), copy_group); - HASH_ADD(hh_vertex_id, copy_group_topo->hash_group_by_vertex, vertex_id, - sizeof(copy_group->vertex_id), copy_group); + HASH_ADD(hh_group_id, group_topo_copy->hash_group_by_id, group_id, + sizeof(group_copy->group_id), group_copy); + HASH_ADD(hh_vertex_id, group_topo_copy->hash_group_by_vertex, vertex_id, + sizeof(group_copy->vertex_id), group_copy); } - igraph_copy(&(copy_group_topo->group_graph), &(src_group_topo->group_graph)); - copy_group_topo->grp_vertex_id_generator = src_group_topo->grp_vertex_id_generator; + igraph_copy(&(group_topo_copy->group_graph), &(group_topo->group_graph)); + group_topo_copy->grp_vertex_id_generator = group_topo->grp_vertex_id_generator; + group_topo_copy->logger = group_topo->logger; - return copy_group_topo; + return group_topo_copy; } void *group2group_runtime_new(void *g2g_schema, size_t max_thread_num,