From 2c53de69045557a51290b50dfda2ddb6c7d01912 Mon Sep 17 00:00:00 2001 From: Hung-ying Tyan Date: Sat, 18 Jul 2009 11:12:40 +0800 Subject: Stop a daemon before starting it in case the daemon is not cleaned up in last session. --- .../src/com/android/server/vpn/AndroidServiceProxy.java | 7 +++++++ .../VpnServices/src/com/android/server/vpn/VpnServiceBinder.java | 1 + 2 files changed, 8 insertions(+) (limited to 'packages') diff --git a/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java b/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java index c6c9452..e4c070f 100644 --- a/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java +++ b/packages/VpnServices/src/com/android/server/vpn/AndroidServiceProxy.java @@ -106,6 +106,13 @@ public class AndroidServiceProxy extends ProcessProxy { @Override protected void performTask() throws IOException { String svc = mServiceName; + Log.d(mTag, "----- Stop the daemon just in case: " + mServiceName); + SystemProperties.set(SVC_STOP_CMD, mServiceName); + if (!blockUntil(SVC_STATE_STOPPED, 5)) { + throw new IOException("cannot start service anew: " + svc + + ", it is still running"); + } + Log.d(mTag, "+++++ Start: " + svc); SystemProperties.set(SVC_START_CMD, svc); diff --git a/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java b/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java index 7eb3287..32b8e51 100644 --- a/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java +++ b/packages/VpnServices/src/com/android/server/vpn/VpnServiceBinder.java @@ -57,6 +57,7 @@ public class VpnServiceBinder extends Service { public void onStart (Intent intent, int startId) { super.onStart(intent, startId); setForeground(true); + android.util.Log.d("VpnServiceBinder", "becomes a foreground service"); } public IBinder onBind(Intent intent) { -- cgit v1.1