diff options
author | Joshua Bartel <joshua.bartel@gmail.com> | 2009-10-05 12:44:46 -0400 |
---|---|---|
committer | Mike Lockwood <lockwood@android.com> | 2009-10-08 10:09:41 -0400 |
commit | 080b61ba17014b8c93914f642ccbe05c76dc611d (patch) | |
tree | 46c21c69140541eb1fa224fcd7f411007b6f6ee8 /opengl/java/android/opengl/Texture.java | |
parent | 7c12540f09659dec0a4222831ed7e5ab8d7b0cdf (diff) |
LocationManagerService: Fix race when removing LocationListener
In LocationManagerService if a LocationListener is removed while it has
a pending broadcast the wake lock held while pending broadcasts are
outstanding do not get cleared properly.
There are 2 cases of this race that are fixed:
1. locationCallbackFinished was changed to check the mReceivers HashMap
directly instead of calling getReceiver. getReceiver would add the
ILocationListener as a new Receiver if it did not exist which caused
a receiver that was removed when it still had a broadcast pending to
be added back in a bad state when the pending broadcast completed.
2. removeUpdatesLocked was changed to decrement the pending broadcasts
when a Receiver is removed that has pending broadcasts.
Fixes bug b/2163871
Change-Id: I50a321c9b3359bf69845236dc4a4b9e38e847335
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'opengl/java/android/opengl/Texture.java')
0 files changed, 0 insertions, 0 deletions