diff --git a/FastGithub.Dns/DnsServer.cs b/FastGithub.Dns/DnsServer.cs index 9ab0a1d..f2489b0 100644 --- a/FastGithub.Dns/DnsServer.cs +++ b/FastGithub.Dns/DnsServer.cs @@ -59,23 +59,7 @@ namespace FastGithub.Dns this.socket.IOControl(SIO_UDP_CONNRESET, new byte[4], new byte[4]); } this.socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); - - var maxSpinCount = 100; - var spinWait = new SpinWait(); - var localEndPoint = new IPEndPoint(address, port); - - for (var i = 0; i < maxSpinCount; i++) - { - try - { - this.socket.Bind(localEndPoint); - break; - } - catch (SocketException ex) when (ex.SocketErrorCode == SocketError.AccessDenied) - { - spinWait.SpinOnce(); - } - } + this.socket.Bind(new IPEndPoint(address, port)); } /// diff --git a/FastGithub.Dns/UdpTable.cs b/FastGithub.Dns/UdpTable.cs index f126fdc..3a5eb9b 100644 --- a/FastGithub.Dns/UdpTable.cs +++ b/FastGithub.Dns/UdpTable.cs @@ -34,7 +34,9 @@ namespace FastGithub.Dns try { - Process.GetProcessById(pid).Kill(); + var proess = Process.GetProcessById(pid); + proess.Kill(); + proess.WaitForExit(); return true; } catch (ArgumentException) diff --git a/FastGithub.ReverseProxy/TcpTable.cs b/FastGithub.ReverseProxy/TcpTable.cs index 4e8065d..47c7dea 100644 --- a/FastGithub.ReverseProxy/TcpTable.cs +++ b/FastGithub.ReverseProxy/TcpTable.cs @@ -34,7 +34,9 @@ namespace FastGithub.ReverseProxy try { - Process.GetProcessById(pid).Kill(); + var proess = Process.GetProcessById(pid); + proess.Kill(); + proess.WaitForExit(); return true; } catch (ArgumentException)