1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Make sure there is only one busy counter. Ticket #1315. (CVS 2543)

FossilOrigin-Name: af2a0ba4a38abf208db1ff6f018cf756de2afd5b
This commit is contained in:
drh
2005-07-09 02:16:02 +00:00
parent 57dbd7b324
commit a4afb65cb7
8 changed files with 86 additions and 28 deletions

View File

@@ -9,7 +9,7 @@
** May you share freely, never taking more than you give.
**
*************************************************************************
** $Id: btree.c,v 1.262 2005/06/14 16:04:06 drh Exp $
** $Id: btree.c,v 1.263 2005/07/09 02:16:03 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
@@ -1606,8 +1606,6 @@ static int newDatabase(Btree *pBt){
*/
int sqlite3BtreeBeginTrans(Btree *pBt, int wrflag){
int rc = SQLITE_OK;
int busy = 0;
BusyHandler *pH;
/* If the btree is already in a write-transaction, or it
** is already in a read-transaction and a read-transaction
@@ -1641,9 +1639,7 @@ int sqlite3BtreeBeginTrans(Btree *pBt, int wrflag){
unlockBtreeIfUnused(pBt);
}
}while( rc==SQLITE_BUSY && pBt->inTrans==TRANS_NONE &&
(pH = pBt->pBusyHandler)!=0 &&
pH->xFunc && pH->xFunc(pH->pArg, busy++)
);
sqlite3InvokeBusyHandler(pBt->pBusyHandler) );
return rc;
}