From 051b13e161c8e0aa31be36883a5f03469daabac1 Mon Sep 17 00:00:00 2001 From: evgeny Date: Sat, 24 Oct 2026 13:18:52 +0200 Subject: [PATCH] docs(proxy): align planned teardown with instance ownership --- doc/proxy_fix_plan.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/proxy_fix_plan.txt b/doc/proxy_fix_plan.txt index 3b632837..b30fedb7 100644 --- a/doc/proxy_fix_plan.txt +++ b/doc/proxy_fix_plan.txt @@ -41,6 +41,12 @@ server.enabled обозначает действующий TCP exit. Роль п Результат client_create публикуется в inst->tcp_proxy_client только после успеха. Порядок остановки: клиент и exit-потоки -> общие UDP/ICMP -> router -> drain deferred free. +При destroy всего instance остановку proxy перенести перед остановкой UTUN-группы, +разборкой topo_groups и ETCP-сокетов/соединений. Сейчас proxy уничтожается в phase M, +после topo_groups и транспорта: для нового rollback нельзя сохранять этот поздний порядок. +Общий instance_init_common уже вызывает instance_destroy при отказе создания; +нужно использовать этот путь, не добавляя параллельную систему частичной очистки. +При create_from_config сохранить существующее правило: отказ возвращает config вызывающему коду. Ресурсы закрываются в одном uasync-потоке; stop/destroy не вызывается из активного callback уничтожаемого владельца. Таймеры/waiters отменяются до освобождения памяти.