diff options
author | Juffin Alex Varghese <jalex@codeaurora.org> | 2014-12-05 11:26:12 +0530 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2015-01-22 00:50:00 +0100 |
commit | dda47fc26f4830eb5aa603be2f894ad0e4ccb46a (patch) | |
tree | a961ea1ed1d55e4dd868c3e1f1f3d9804cf6001f | |
parent | ff411b78bb8d817abc7f3ec003a48d31f613a64f (diff) | |
download | android_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.java | 4 |
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(); |