Add the SQLITE_BUSY_RESERVED_LOCK compile-time option. (CVS 1894)

FossilOrigin-Name: 25fe7a42ec2e06e659d7a0a6664789114c007e17
This commit is contained in:
drh 2004-08-19 13:29:15 +00:00
parent cb4c40ba0e
commit 2889ae7248
3 changed files with 11 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Make\ssure\sthe\sdatabase\sfile\sis\scorrectly\struncated\safter\sa\sROLLBACK\sthat\noccurs\safter\sa\sstatement\sabort.\s(CVS\s1893)
D 2004-08-18T19:09:44
C Add\sthe\sSQLITE_BUSY_RESERVED_LOCK\scompile-time\soption.\s(CVS\s1894)
D 2004-08-19T13:29:15
F Makefile.in 4a5e570a9e2d35b09c31b3cf01b78cea764ade4b
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@ -51,7 +51,7 @@ F src/os_unix.c 3239a45dbd2f50195bfc97f1ed35cb8fe5a3f60c
F src/os_unix.h f3097815e041e82e24d92505e1ff61ba24172d13
F src/os_win.c 54181eb73cb4783c4241feca9eaa490768b39008
F src/os_win.h babd4e912967c6b09088cfe38a45e8005a07ba44
F src/pager.c f42404ba6858cb3744deca6bb764af6f4ed0275e
F src/pager.c 2698653a3bd895b2156c108a37a32d240a55bb0e
F src/pager.h 67739fe649f33be55dba522ca8a9cc4e42d14f71
F src/parse.y 589b1a39b23092888adfa9ec1f3ded8a35e8e006
F src/pragma.c 5cf335adfdac453a2d03ab0c82f93847c43bea81
@ -243,7 +243,7 @@ F www/tclsqlite.tcl 06a86cba4d7fc88e2bcd633b57702d3d16abebb5
F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
P 1cc0323f2597584b3f3239e8948ac3ff3db8da03
R 2c16cf3adea0061c2a5685694da75e5b
P 6afe467d146828d67ad17af21604c2e691aa5dff
R 319dc5d1048c9651b555d207e2714318
U drh
Z 53449f732f05d53766a7cbf7eda7107f
Z 95969acf17ceb191e29fa59d164b79d1

View File

@ -1 +1 @@
6afe467d146828d67ad17af21604c2e691aa5dff
25fe7a42ec2e06e659d7a0a6664789114c007e17

View File

@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while
** another is writing.
**
** @(#) $Id: pager.c,v 1.158 2004/08/18 19:09:44 drh Exp $
** @(#) $Id: pager.c,v 1.159 2004/08/19 13:29:15 drh Exp $
*/
#include "os.h" /* Must be first to enable large file support */
#include "sqliteInt.h"
@ -2417,7 +2417,7 @@ int sqlite3pager_begin(void *pData){
pPager->state = PAGER_EXCLUSIVE;
pPager->origDbSize = pPager->dbSize;
}else{
#if 0
#ifdef SQLITE_BUSY_RESERVED_LOCK
int busy = 1;
do {
rc = sqlite3OsLock(&pPager->fd, RESERVED_LOCK);
@ -2426,8 +2426,9 @@ int sqlite3pager_begin(void *pData){
pPager->pBusyHandler->xFunc &&
pPager->pBusyHandler->xFunc(pPager->pBusyHandler->pArg, busy++)
);
#endif
#else
rc = sqlite3OsLock(&pPager->fd, RESERVED_LOCK);
#endif
if( rc!=SQLITE_OK ){
/* We do not call the busy handler when we fail to get a reserved lock.
** The only reason we might fail is because another process is holding