From 541f8de2cfc66d81c320f8430d5aaedf0737ea3c Mon Sep 17 00:00:00 2001 From: Max Lv Date: Fri, 24 Jul 2015 22:35:39 +0800 Subject: [PATCH] close socket properly --- .../github/shadowsocks/ShadowsocksVpnThread.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala index 7923ee8f..3cc79861 100644 --- a/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala +++ b/src/main/scala/com/github/shadowsocks/ShadowsocksVpnThread.scala @@ -89,7 +89,7 @@ class ShadowsocksVpnThread(vpnService: ShadowsocksVpnService) extends Thread { val socket = serverSocket.accept() pool.execute(new Runnable { - override def run(){ + override def run() { try { val input = socket.getInputStream val output = socket.getOutputStream @@ -114,12 +114,18 @@ class ShadowsocksVpnThread(vpnService: ShadowsocksVpnService) extends Thread { input.close() output.close() } - - socket.close() } catch { case e: Exception => Log.e(TAG, "Error when protect socket", e) } + + // close socket + try { + socket.close() + } catch { + case _: Exception => // ignore + } + }}) } catch { case e: IOException => Log.e(TAG, "Error when accept socket", e)