From 0a03dc2594ebe2178819a7a88a47b373d1b86d38 Mon Sep 17 00:00:00 2001 From: Roman Khlopkov <roman.khlopkov@demlabs.net> Date: Mon, 20 Sep 2021 06:21:09 +0000 Subject: [PATCH] hotfix-4874 --- CMakeLists.txt | 2 +- modules/channel/chain/dap_stream_ch_chain.c | 16 +++++----------- modules/net/dap_chain_net.c | 3 +-- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f1d866a32..afea6cbb6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ project(cellframe-sdk C) cmake_minimum_required(VERSION 3.0) set(CMAKE_C_STANDARD 11) -set(CELLFRAME_SDK_NATIVE_VERSION "2.9-43") +set(CELLFRAME_SDK_NATIVE_VERSION "2.9-44") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") set(DAPSDK_MODULES "") message("Cellframe modules: ${CELLFRAME_MODULES}") diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index 00e39dca2b..e5bba7b3d9 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -264,8 +264,10 @@ static void s_sync_out_chains_last_worker_callback(dap_worker_t *a_worker, void dap_stream_ch_chain_pkt_write_unsafe(l_ch, DAP_STREAM_CH_CHAIN_PKT_TYPE_SYNCED_CHAINS, l_sync_request->request_hdr.net_id.uint64, l_sync_request->request_hdr.chain_id.uint64, l_sync_request->request_hdr.cell_id.uint64, &l_request, sizeof(l_request)); - if (l_ch_chain->request_atom_iter) + if (l_ch_chain->request_atom_iter) { l_ch_chain->request_atom_iter->chain->callback_atom_iter_delete(l_ch_chain->request_atom_iter); + l_ch_chain->request_atom_iter = NULL; + } l_ch_chain->state = CHAIN_STATE_IDLE; if (l_ch_chain->callback_notify_packet_out) @@ -595,10 +597,6 @@ static void s_gdb_sync_tsd_worker_callback(dap_worker_t *a_worker, void *a_arg) memcpy(l_data_ptr, &l_sync_request->request.id_end, sizeof(uint64_t)); l_data_ptr += sizeof(uint64_t); memcpy(l_data_ptr, l_sync_request->gdb.sync_group, l_gr_len); - log_it(L_INFO, "Allocated %d bytes, copied %d bytes, sent %d bytes", - l_data_size + sizeof(dap_tsd_t), - (long int)((byte_t *)l_data_ptr - l_tsd_rec->data) + l_gr_len, - l_tsd_rec->size + sizeof(dap_tsd_t)); dap_stream_ch_chain_pkt_write_unsafe(l_ch, DAP_STREAM_CH_CHAIN_PKT_TYPE_UPDATE_GLOBAL_DB_TSD, l_sync_request->request_hdr.net_id.uint64, l_sync_request->request_hdr.chain_id.uint64, @@ -1298,14 +1296,10 @@ void dap_stream_ch_chain_go_idle ( dap_stream_ch_chain_t * a_ch_chain) // Cleanup after request memset(&a_ch_chain->request, 0, sizeof(a_ch_chain->request)); memset(&a_ch_chain->request_hdr, 0, sizeof(a_ch_chain->request_hdr)); - if(a_ch_chain->request_atom_iter) { - if(a_ch_chain->request_atom_iter->chain) - if(a_ch_chain->request_atom_iter->chain->callback_atom_iter_delete){ + if (a_ch_chain->request_atom_iter && a_ch_chain->request_atom_iter->chain && + a_ch_chain->request_atom_iter->chain->callback_atom_iter_delete) { a_ch_chain->request_atom_iter->chain->callback_atom_iter_delete(a_ch_chain->request_atom_iter); a_ch_chain->request_atom_iter = NULL; - return; - } - a_ch_chain->request_atom_iter->chain->callback_atom_iter_delete(a_ch_chain->request_atom_iter); } // free log list dap_db_log_list_delete(a_ch_chain->request_db_log); diff --git a/modules/net/dap_chain_net.c b/modules/net/dap_chain_net.c index 36a29d7c35..b5de41884c 100644 --- a/modules/net/dap_chain_net.c +++ b/modules/net/dap_chain_net.c @@ -572,8 +572,6 @@ static void s_node_link_callback_delete(dap_chain_node_client_t * a_node_client, } } pthread_rwlock_unlock(&l_net_pvt->rwlock); - dap_chain_node_client_close(a_node_client); - dap_notify_server_send_f_mt("{" "class:\"NetLinkDelete\"," "net_id:0x%016" DAP_UINT64_FORMAT_X "," @@ -581,6 +579,7 @@ static void s_node_link_callback_delete(dap_chain_node_client_t * a_node_client, "address:\""NODE_ADDR_FP_STR"\"" "}\n", a_node_client->net->pub.id.uint64, a_node_client->info->hdr.cell_id.uint64, NODE_ADDR_FP_ARGS_S(a_node_client->info->hdr.address)); + dap_chain_node_client_close(a_node_client); } /** -- GitLab