refine service destroy

This commit is contained in:
Max Lv
2013-06-20 14:00:18 +08:00
parent c8f68e1abc
commit 04c10d4e12
2 changed files with 5 additions and 7 deletions
@@ -372,15 +372,14 @@ class ShadowVpnService extends VpnService {
}
def destroy() {
killProcesses()
changeState(State.STOPPED)
EasyTracker.getTracker.sendEvent(TAG, "stop", getVersionName, 0L)
if (receiver != null) {
unregisterReceiver(receiver)
receiver = null
}
spawn {
killProcesses()
}
if (conn != null) {
conn.close()
conn = null
@@ -443,15 +443,14 @@ class ShadowsocksService extends Service {
}
// reset NAT
Utils.runRootCommand(Utils.getIptables + " -t nat -F OUTPUT")
spawn {
killProcesses()
}
killProcesses()
super.onDestroy()
}
def killProcesses() {
Utils.runRootCommand(Utils.getIptables + " -t nat -F OUTPUT")
val sb = new StringBuilder
sb ++= "kill -9 `cat /data/data/com.github.shadowsocks/redsocks.pid`" ++= "\n"