diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f1d866a32341bfdede4d03d22ec63c44b3b3b72..afea6cbb6f55aa66158706a220d47180d017c0d2 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 00e39dca2b2d104af322d1dfecbf24ac97ffc013..e5bba7b3d9f05f95e3f82214bb24dea00c4327d6 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 36a29d7c35d6bb89a34f2a4348b89c8360b7eb8d..b5de41884c3a194821341e796eed6cc59fce0855 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); } /**