From c795063f3055b44751d1507bca8d2ea525b090d0 Mon Sep 17 00:00:00 2001 From: Dmitriy Gerasimov <naeper@demlabs.net> Date: Fri, 24 May 2019 15:04:30 +0700 Subject: [PATCH] [*] Reconnect option --- dap_client.c | 2 +- dap_client_pvt.c | 3 ++- dap_client_pvt.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dap_client.c b/dap_client.c index ed7d21d..02f2d73 100755 --- a/dap_client.c +++ b/dap_client.c @@ -294,7 +294,7 @@ int dap_client_disconnect(dap_client_t * a_client) dap_client_pvt_t * l_client_internal = (a_client) ? DAP_CLIENT_PVT(a_client) : NULL; if(l_client_internal && l_client_internal->stream_socket){ if(l_client_internal->stream_es) { - dap_events_socket_delete(l_client_internal->stream_es, false); + dap_events_socket_delete(l_client_internal->stream_es, true); l_client_internal->stream_es = NULL; } else if (l_client_internal->stream_socket ){ diff --git a/dap_client_pvt.c b/dap_client_pvt.c index 79800be..88d11b6 100755 --- a/dap_client_pvt.c +++ b/dap_client_pvt.c @@ -855,7 +855,8 @@ void m_es_stream_delete(dap_events_socket_t * a_es, void * arg) l_client_pvt->stream_es = NULL; dap_stream_session_close(l_client_pvt->stream_session->id); l_client_pvt->stream_session = NULL; - dap_client_go_stage(l_client_pvt->client, STAGE_STREAM_STREAMING, m_stage_stream_streaming); + if (l_client_pvt->is_reconnect) + dap_client_go_stage(l_client_pvt->client, STAGE_STREAM_STREAMING, m_stage_stream_streaming); } /** diff --git a/dap_client_pvt.h b/dap_client_pvt.h index a9785f9..38a8121 100755 --- a/dap_client_pvt.h +++ b/dap_client_pvt.h @@ -72,6 +72,7 @@ typedef struct dap_client_internal dap_client_callback_t stage_status_error_callback; bool is_encrypted; + bool is_reconnect; bool is_close_session;// the last request in session, in the header will be added "SessionCloseAfterRequest: true" dap_client_callback_data_size_t request_response_callback; dap_client_callback_int_t request_error_callback; -- GitLab