summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuffin Alex Varghese <jalex@codeaurora.org>2014-12-05 11:26:12 +0530
committerJuffin Alex Varghese <jalex@codeaurora.org>2014-12-09 11:34:17 +0530
commit83747e66bcfdaad6185900b437037ef9df937e32 (patch)
tree63105e7b8f36b8ee029af1de6d717e1402861202
parent2b582a6914f8e13a261b5a66567517ac62074f74 (diff)
downloadandroid_packages_apps_Bluetooth-83747e66bcfdaad6185900b437037ef9df937e32.tar.gz
android_packages_apps_Bluetooth-83747e66bcfdaad6185900b437037ef9df937e32.tar.bz2
android_packages_apps_Bluetooth-83747e66bcfdaad6185900b437037ef9df937e32.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();