From e69161579d68be7ac89eb3c034cdbaaa965cca29 Mon Sep 17 00:00:00 2001 From: Dmitrii <naidv88@gmail.com> Date: Fri, 14 Jan 2022 22:53:44 +0500 Subject: [PATCH] [*] fix bug --- modules/channel/chain/dap_stream_ch_chain.c | 37 ++++----------------- 1 file changed, 6 insertions(+), 31 deletions(-) diff --git a/modules/channel/chain/dap_stream_ch_chain.c b/modules/channel/chain/dap_stream_ch_chain.c index b765f4662b..c8066786bd 100644 --- a/modules/channel/chain/dap_stream_ch_chain.c +++ b/modules/channel/chain/dap_stream_ch_chain.c @@ -813,8 +813,10 @@ static bool s_chain_timer_callback(void *a_arg) dap_stream_ch_chain_t *l_ch_chain = DAP_STREAM_CH_CHAIN(l_ch); if (!l_ch_chain->was_active) { if (l_ch_chain->state != CHAIN_STATE_IDLE) { - dap_stream_ch_chain_go_idle_and_free_list(l_ch_chain); - } + dap_stream_ch_chain_go_idle(l_ch_chain); + } else { + s_free_log_list(l_ch_chain); + } DAP_DELETE(a_arg); l_ch_chain->activity_timer = NULL; return false; @@ -1421,23 +1423,11 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg) /** - * @brief dap_stream_ch_chain_go_idle_and_free_list + * @brief dap_stream_ch_chain_go_idle_and_free_log_list * @param a_ch_chain */ -void dap_stream_ch_chain_go_idle_and_free_list ( dap_stream_ch_chain_t * a_ch_chain) +void s_free_log_list ( dap_stream_ch_chain_t * a_ch_chain) { - a_ch_chain->state = CHAIN_STATE_IDLE; - if(s_debug_more) - log_it(L_INFO, "Go in CHAIN_STATE_IDLE"); - - // 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 && 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; - } // free log list dap_db_log_list_delete(a_ch_chain->request_db_log); a_ch_chain->request_db_log = NULL; @@ -1470,21 +1460,6 @@ void dap_stream_ch_chain_go_idle ( dap_stream_ch_chain_t * a_ch_chain) a_ch_chain->request_atom_iter->chain->callback_atom_iter_delete(a_ch_chain->request_atom_iter); a_ch_chain->request_atom_iter = NULL; } - // free log list -#if 0 - dap_db_log_list_delete(a_ch_chain->request_db_log); - a_ch_chain->request_db_log = NULL; - dap_stream_ch_chain_hash_item_t *l_hash_item = NULL, *l_tmp = NULL; - HASH_ITER(hh, a_ch_chain->remote_gdbs, l_hash_item, l_tmp) { - HASH_DEL(a_ch_chain->remote_gdbs, l_hash_item); - DAP_DELETE(l_hash_item); - } - HASH_ITER(hh, a_ch_chain->remote_atoms, l_hash_item, l_tmp) { - HASH_DEL(a_ch_chain->remote_atoms, l_hash_item); - DAP_DELETE(l_hash_item); - } - a_ch_chain->remote_atoms = a_ch_chain->remote_gdbs = NULL; -#endif } /** -- GitLab