diff options
| author | Joshua Bartel <joshua.bartel@gmail.com> | 2009-10-05 12:44:46 -0400 |
|---|---|---|
| committer | Joshua Bartel <joshua.bartel@gmail.com> | 2009-10-05 12:44:46 -0400 |
| commit | 9ff67a5f9b0bca15ad6933eac90a65b11b29eb2e (patch) | |
| tree | be6b8a4728f94454eee79e5601dec7887dd7e752 /opengl/tests/gl_basic/gl_basic.cpp | |
| parent | 5550ef48739a7bb16f80aa6b10e9c151b1438163 (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.
Diffstat (limited to 'opengl/tests/gl_basic/gl_basic.cpp')
0 files changed, 0 insertions, 0 deletions
