mirror of
https://github.com/sqlite/sqlite.git
synced 2025-12-21 13:38:01 +03:00
Change things so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal.
FossilOrigin-Name: ac381e6eb3c9284e65f7aad66d21bee1bca9ef4123684ccaf069b8a6d157a56d
This commit is contained in:
14
manifest
14
manifest
@@ -1,6 +1,6 @@
|
|||||||
B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
|
B 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
|
||||||
C Add\stest\sscript\sto\sverify\sbusy-timeouts\sare\sworking\sfor\sSQLITE_ENABLE_SETLK_TIMEOUT\sbuilds.
|
C Change\sthings\sso\sthat\sif\sSQLITE_ENABLE_SETLK_TIMEOUT\sis\sdefined\sas\s2\sinstead\sof\s1,\sall\sblocking\slocks\sare\staken\sfor\sa\ssingle\smillisecond\sand\sthe\sdefault\sbusy-handler\sinvoked\sas\snormal.
|
||||||
D 2020-06-29T17:52:53.862
|
D 2020-06-29T18:22:21.402
|
||||||
F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
|
F Makefile.in 19374a5db06c3199ec1bab71ab74a103d8abf21053c05e9389255dc58083f806
|
||||||
F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
|
F Makefile.msc 48f5a3fc32672c09ad73795749f6253e406a31526935fbbffd8f021108d54574
|
||||||
F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
|
F autoconf/Makefile.am a8d1d24affe52ebf8d7ddcf91aa973fa0316618ab95bb68c87cabf8faf527dc8
|
||||||
@@ -12,6 +12,7 @@ F ext/misc/ieee754.c bb6bd8e9eeeda5a7ac82839fcab5c0b8156b0532165387cc5458a97f600
|
|||||||
F main.mk b1cd0bc6aedad7ebb667b7f74f835f932f60ee33be2a5c3051fd93eb465f5c75
|
F main.mk b1cd0bc6aedad7ebb667b7f74f835f932f60ee33be2a5c3051fd93eb465f5c75
|
||||||
F src/build.c ba1bbe563a3dc02d5fed20537603181e5289c13ea30ae5e775f552e7557adbfa
|
F src/build.c ba1bbe563a3dc02d5fed20537603181e5289c13ea30ae5e775f552e7557adbfa
|
||||||
F src/expr.c a3ab84399b3415f66d2d0c25f5bcd98ef465c0c07ea1f19bf2a418b1c8fcad74
|
F src/expr.c a3ab84399b3415f66d2d0c25f5bcd98ef465c0c07ea1f19bf2a418b1c8fcad74
|
||||||
|
F src/os_unix.c 93ed45be97dbd1dd081e402fdeef3f0c2a4e513b246a552bacdf7b6809e0e52a
|
||||||
F src/select.c bc25f48e49eca122c16c247e7d4697241156e7c32c735b219be667657aa017ef
|
F src/select.c bc25f48e49eca122c16c247e7d4697241156e7c32c735b219be667657aa017ef
|
||||||
F src/shell.c.in d663152487d4bfddea0f6d21ebc2ed51575d22657a02c6828afd344bbd4651af
|
F src/shell.c.in d663152487d4bfddea0f6d21ebc2ed51575d22657a02c6828afd344bbd4651af
|
||||||
F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
|
F src/test1.c fe56c4bcaa2685ca9aa25d817a0ee9345e189aff4a5a71a3d8ba946c7776feb8
|
||||||
@@ -27,7 +28,10 @@ F tool/mksqlite3c.tcl f4ef476510eca4124c874a72029f1e01bc54a896b1724e8f9eef0d8bfa
|
|||||||
F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
|
F tool/mksqlite3h.tcl 1f5e4a1dbbbc43c83cc6e74fe32c6c620502240b66c7c0f33a51378e78fc4edf
|
||||||
F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
|
F tool/showlocks.c 9cc5e66d4ebbf2d194f39db2527ece92077e86ae627ddd233ee48e16e8142564
|
||||||
F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
|
F tool/speed-check.sh 615cbdf50f1409ef3bbf9f682e396df80f49d97ed93ed3e61c8e91fae6afde58
|
||||||
P 1b426603f05033bcee0331c6f664cd5ed2ebf8f5d4cde8c6673c7a699ff53bb1
|
P ada43e7c490bf72a50ee84e1db994e149744b2a943260449076b83d1874813b2
|
||||||
R 6c7789a7098efb29eff36caf8aa4c6fc
|
R 93e888407e9721413a70c252713da7cc
|
||||||
|
T *branch * wal-setlk-changes
|
||||||
|
T *sym-wal-setlk-changes *
|
||||||
|
T -sym-trunk *
|
||||||
U dan
|
U dan
|
||||||
Z 112b18c988addaa054b3697edfd4eb11
|
Z 013fbd5cd0583cc6a6abd723420eba48
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
ada43e7c490bf72a50ee84e1db994e149744b2a943260449076b83d1874813b2
|
ac381e6eb3c9284e65f7aad66d21bee1bca9ef4123684ccaf069b8a6d157a56d
|
||||||
@@ -3997,7 +3997,13 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){
|
|||||||
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
|
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
|
||||||
case SQLITE_FCNTL_LOCK_TIMEOUT: {
|
case SQLITE_FCNTL_LOCK_TIMEOUT: {
|
||||||
int iOld = pFile->iBusyTimeout;
|
int iOld = pFile->iBusyTimeout;
|
||||||
|
#if SQLITE_ENABLE_SETLK_TIMEOUT==1
|
||||||
pFile->iBusyTimeout = *(int*)pArg;
|
pFile->iBusyTimeout = *(int*)pArg;
|
||||||
|
#elif SQLITE_ENABLE_SETLK_TIMEOUT==2
|
||||||
|
pFile->iBusyTimeout = !!(*(int*)pArg);
|
||||||
|
#else
|
||||||
|
# error "SQLITE_ENABLE_SETLK_TIMEOUT must be set to 1 or 2"
|
||||||
|
#endif
|
||||||
*(int*)pArg = iOld;
|
*(int*)pArg = iOld;
|
||||||
return SQLITE_OK;
|
return SQLITE_OK;
|
||||||
}
|
}
|
||||||
@@ -4325,7 +4331,7 @@ static int unixShmSystemLock(
|
|||||||
f.l_len = n;
|
f.l_len = n;
|
||||||
res = osSetPosixAdvisoryLock(pShmNode->hShm, &f, pFile);
|
res = osSetPosixAdvisoryLock(pShmNode->hShm, &f, pFile);
|
||||||
if( res==-1 ){
|
if( res==-1 ){
|
||||||
#ifdef SQLITE_ENABLE_SETLK_TIMEOUT
|
#if defined(SQLITE_ENABLE_SETLK_TIMEOUT) && SQLITE_ENABLE_SETLK_TIMEOUT==1
|
||||||
rc = (pFile->iBusyTimeout ? SQLITE_BUSY_TIMEOUT : SQLITE_BUSY);
|
rc = (pFile->iBusyTimeout ? SQLITE_BUSY_TIMEOUT : SQLITE_BUSY);
|
||||||
#else
|
#else
|
||||||
rc = SQLITE_BUSY;
|
rc = SQLITE_BUSY;
|
||||||
|
|||||||
Reference in New Issue
Block a user