diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala index fd49f7de..0cf95947 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala @@ -123,6 +123,14 @@ class ShadowsocksVpnThread(vpnService: ShadowsocksVpnService) extends Thread { } catch { case e: IOException => { Log.e(TAG, "Error when accept socket", e) + if (ShadowsocksVpn.serverSocket != null) { + try { + ShadowsocksVpn.serverSocket.close() + } catch { + case _: Exception => // ignore + } + ShadowsocksVpn.serverSocket = null + } return } }