From e1c9633535bd7beddcc3b56a4fc081309af17266 Mon Sep 17 00:00:00 2001 From: Ekko82 <129039948+Ekko82@users.noreply.github.com> Date: Sun, 1 Nov 2026 20:50:32 +0800 Subject: [PATCH] fix: keep the PAC listener running after a client reset (#10447) * fix: keep the PAC listener running after a client reset * Update PacManager.cs * Update PacManager.cs --------- Co-authored-by: 2dust <31833384+2dust@users.noreply.github.com> --- v2rayN/ServiceLib/Manager/PacManager.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/v2rayN/ServiceLib/Manager/PacManager.cs b/v2rayN/ServiceLib/Manager/PacManager.cs index 9a45415e..37386a13 100644 --- a/v2rayN/ServiceLib/Manager/PacManager.cs +++ b/v2rayN/ServiceLib/Manager/PacManager.cs @@ -65,11 +65,17 @@ public class PacManager { while (!token.IsCancellationRequested) { - using var client = await listener.AcceptTcpClientAsync(token).ConfigureAwait(false); - await using var stream = client.GetStream(); - _ = await stream.ReadAsync(buffer, token).ConfigureAwait(false); - await stream.WriteAsync(_writeContent, token).ConfigureAwait(false); - await stream.FlushAsync(token).ConfigureAwait(false); + try + { + using var client = await listener.AcceptTcpClientAsync(token).ConfigureAwait(false); + await using var stream = client.GetStream(); + _ = await stream.ReadAsync(buffer, token).ConfigureAwait(false); + await stream.WriteAsync(_writeContent, token).ConfigureAwait(false); + await stream.FlushAsync(token).ConfigureAwait(false); + } + catch + { + } } } catch (OperationCanceledException) when (token.IsCancellationRequested)