diff --git a/shadowsocks-csharp/Controller/Local.cs b/shadowsocks-csharp/Controller/Local.cs index 7bd0fb98..924cfbad 100755 --- a/shadowsocks-csharp/Controller/Local.cs +++ b/shadowsocks-csharp/Controller/Local.cs @@ -144,11 +144,14 @@ namespace Shadowsocks.Controller public void Close() { - if (closed) + lock (this) { - return; + if (closed) + { + return; + } + closed = true; } - closed = true; if (connection != null) { try