diff options
author | Daniel Trebbien <dtrebbien@gmail.com> | 2010-10-31 13:45:02 -0700 |
---|---|---|
committer | Jean-Baptiste Queru <jbq@google.com> | 2010-11-01 14:13:56 -0700 |
commit | 38767b34ba056a4e384bcebc9d497da77b3a0260 (patch) | |
tree | 7ff2a8051837d7d9d8e7002ae28d7e0fab1a12c2 /core/java/android/database/sqlite/SQLiteCursor.java | |
parent | cee8d1d3450fb2b7490fbe41bf8b3f974c015f6f (diff) | |
download | frameworks_base-38767b34ba056a4e384bcebc9d497da77b3a0260.zip frameworks_base-38767b34ba056a4e384bcebc9d497da77b3a0260.tar.gz frameworks_base-38767b34ba056a4e384bcebc9d497da77b3a0260.tar.bz2 |
Reorder lock acquision vs try.
In two places involving locking, reordered the code so that the lock
acquisition is performed outside of the `try` block and everything
else that needs to run while the lock is locked *within* the `try`
block.
Change-Id: I3dad2c4bbf60b219fc6db2aa35e2ed296cb39128
Diffstat (limited to 'core/java/android/database/sqlite/SQLiteCursor.java')
-rw-r--r-- | core/java/android/database/sqlite/SQLiteCursor.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/core/java/android/database/sqlite/SQLiteCursor.java b/core/java/android/database/sqlite/SQLiteCursor.java index c7e58fa..2fd28d7 100644 --- a/core/java/android/database/sqlite/SQLiteCursor.java +++ b/core/java/android/database/sqlite/SQLiteCursor.java @@ -131,11 +131,11 @@ public class SQLiteCursor extends AbstractWindowedCursor { // the cursor's state doesn't change while (true) { mLock.lock(); - if (mCursorState != mThreadState) { - mLock.unlock(); - break; - } try { + if (mCursorState != mThreadState) { + break; + } + int count = mQuery.fillWindow(cw, mMaxRead, mCount); // return -1 means not finished if (count != 0) { @@ -217,9 +217,8 @@ public class SQLiteCursor extends AbstractWindowedCursor { mColumnNameMap = null; mQuery = query; + db.lock(); try { - db.lock(); - // Setup the list of columns int columnCount = mQuery.columnCountLocked(); mColumns = new String[columnCount]; |