summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuffin Alex Varghese <jalex@codeaurora.org>2014-12-05 11:26:12 +0530
committerArne Coucheron <arco68@gmail.com>2015-01-22 00:50:00 +0100
commitdda47fc26f4830eb5aa603be2f894ad0e4ccb46a (patch)
treea961ea1ed1d55e4dd868c3e1f1f3d9804cf6001f
parentff411b78bb8d817abc7f3ec003a48d31f613a64f (diff)
downloadandroid_packages_apps_Bluetooth-dda47fc26f4830eb5aa603be2f894ad0e4ccb46a.tar.gz
android_packages_apps_Bluetooth-dda47fc26f4830eb5aa603be2f894ad0e4ccb46a.tar.bz2
android_packages_apps_Bluetooth-dda47fc26f4830eb5aa603be2f894ad0e4ccb46a.zip
Bluetooth-OPP: Synchronize OPP Database cleanup and Shareupdate threads
OPPService threads should be synchronized to avoid race condition. Otherwise, during incoming file request if bluetooth sub system retarted due some hardware error and if remote sends the file immediately bluetooth is recovered application may crash after accepting the request due to race condition between database cleanup thread and shareupdate thread. CRs-Fixed: 767691 Change-Id: Ie7e7bf588f5b8347afed6449898825111c41ae26
-rw-r--r--src/com/android/bluetooth/opp/BluetoothOppService.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/com/android/bluetooth/opp/BluetoothOppService.java b/src/com/android/bluetooth/opp/BluetoothOppService.java
index e0acd273c..760f70c51 100644
--- a/src/com/android/bluetooth/opp/BluetoothOppService.java
+++ b/src/com/android/bluetooth/opp/BluetoothOppService.java
@@ -166,7 +166,9 @@ public class BluetoothOppService extends Service {
final ContentResolver contentResolver = getContentResolver();
new Thread("trimDatabase") {
public void run() {
- trimDatabase(contentResolver);
+ synchronized (BluetoothOppService.this) {
+ trimDatabase(contentResolver);
+ }
}
}.start();