diff --git a/src/proxy/tcp_proxy_client.c b/src/proxy/tcp_proxy_client.c index 472c38e5..d47c4409 100644 --- a/src/proxy/tcp_proxy_client.c +++ b/src/proxy/tcp_proxy_client.c @@ -454,7 +454,7 @@ static void tcp_proxy_client_handle_close(struct tcp_proxy_client* p, uint32_t s pc->rem_closed = 1; if (pc->tx_buf) { u_free(pc->tx_buf); pc->tx_buf = NULL; pc->tx_len = 0; } etcp_router_waiter_cancel(pc->proxy->inst, pc->proxy->via_node_id, &pc->tx_waiter); - if (pc->pcb) { tcp_arg(pc->pcb, NULL); tcp_close(pc->pcb); pc->pcb = NULL; } + if (pc->pcb) { tcp_arg(pc->pcb, NULL); tcp_abort(pc->pcb); pc->pcb = NULL; } tcp_proxy_client_conn_free(pc); }