diff --git a/dap_client.c b/dap_client.c index 354dbae89932b495a97dd408c02d2ed3daa094b0..8d96a9f9c00695a6cdda50cca63f3551d87ce045 100755 --- a/dap_client.c +++ b/dap_client.c @@ -289,22 +289,30 @@ void dap_client_request(dap_client_t * a_client, const char * a_full_path, void * @param a_client * @return */ -int dap_client_disconnect(dap_client_t * a_client) +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_socket ){ - close (l_client_internal->stream_socket); - l_client_internal->stream_socket = 0; - } - if(l_client_internal->stream_es) { - dap_events_socket_delete(l_client_internal->stream_es, true); - l_client_internal->stream_es = NULL; - } + 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_remove_and_delete( l_client_internal->stream_es, true ); +// l_client_internal->stream_es = NULL; +// } + + l_client_internal->stream_es->signal_close = true; + +// if (l_client_internal->stream_socket ) { +// close (l_client_internal->stream_socket); + l_client_internal->stream_socket = 0; +// } return 1; } //l_client_internal->stream_socket = 0; + + log_it(L_DEBUG, "dap_client_disconnect( ) done" ); + return -1; }