print finalizer warning before closing the cursor in finalize

this will let us know which cursor is being finalized.
if the heapworker gets wedbed due to the close bug:2536922
then we will never see the warning and never know which cursor
caused this problem

Change-Id: I595cc1014ff7a1114079b33665c092c6a2f3a907
This commit is contained in:
Vasu Nori
2010-03-23 10:17:48 -07:00
parent 89206fdb3b
commit 2cc1df0438

View File

@@ -579,10 +579,12 @@ public class SQLiteCursor extends AbstractWindowedCursor {
try {
// if the cursor hasn't been closed yet, close it first
if (mWindow != null) {
close();
int len = mQuery.mSql.length();
Log.e(TAG, "Finalizing a Cursor that has not been deactivated or closed. " +
"database = " + mDatabase.getPath() + ", table = " + mEditTable +
", query = " + mQuery.mSql, mStackTrace);
", query = " + mQuery.mSql.substring(0, (len > 100) ? 100 : len),
mStackTrace);
close();
SQLiteDebug.notifyActiveCursorFinalized();
} else {
if (Config.LOGV) {