]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Back out minor changes not required by this branch.
authordan <Dan Kennedy>
Tue, 3 Dec 2024 19:41:41 +0000 (19:41 +0000)
committerdan <Dan Kennedy>
Tue, 3 Dec 2024 19:41:41 +0000 (19:41 +0000)
FossilOrigin-Name: 68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808

manifest
manifest.uuid
src/mutex_w32.c
src/os_unix.c
src/os_win.c
test/symlink2.test
test/wal.test

index 0f87538b06364b300524689d0921d57157a2a13e..0c58e47c89ac76fbfb8ee787e803d00aacf2a485 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\slatest\strunk\sinto\sthis\sbranch.
-D 2024-12-03T19:30:14.226
+C Back\sout\sminor\schanges\snot\srequired\sby\sthis\sbranch.
+D 2024-12-03T19:41:41.500
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
@@ -754,15 +754,15 @@ F src/mutex.c 06bcd9c3dbf2d9b21fcd182606c00fafb9bfe0287983c8e17acd13d2c81a2fa9
 F src/mutex.h a7b2293c48db5f27007c3bdb21d438873637d12658f5a0bf8ad025bb96803c4a
 F src/mutex_noop.c 9d4309c075ba9cc7249e19412d3d62f7f94839c4
 F src/mutex_unix.c f7ee5a2061a4c11815a2bf4fc0e2bfa6fb8d9dc89390eb613ca0cec32fc9a3d1
-F src/mutex_w32.c db182bf5aac08a16fbf5916d94974f5a11556fe150142fcabe36d6454e0d93a1
+F src/mutex_w32.c 28f8d480387db5b2ef5248705dd4e19db0cfc12c3ba426695a7d2c45c48e6885
 F src/notify.c 57c2d1a2805d6dee32acd5d250d928ab94e02d76369ae057dee7d445fd64e878
 F src/os.c 509452169d5ea739723e213b8e2481cf0e587f0e88579a912d200db5269f5f6d
 F src/os.h 1ff5ae51d339d0e30d8a9d814f4b8f8e448169304d83a7ed9db66a65732f3e63
 F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
 F src/os_kv.c 4d39e1f1c180b11162c6dc4aa8ad34053873a639bac6baae23272fc03349986a
 F src/os_setup.h 6011ad7af5db4e05155f385eb3a9b4470688de6f65d6166b8956e58a3d872107
-F src/os_unix.c d4a33e8fbd1c6eb722a21b6ce1eee1213ec856170a2f256d99f3d2978f054f5a
-F src/os_win.c 87a6590fa43efbf64b58269fef10df5b766841603b6ac0bf025fac74901f45c7
+F src/os_unix.c d2edbd92b07a3f778c2defa8a2e9d75acceb6267bda56948c41e8cdda65224d6
+F src/os_win.c a47ad87a47d799783277edc56d99fdcaac2a2a503ba702b18d149d0c4cb125b7
 F src/os_win.h 7b073010f1451abe501be30d12f6bc599824944a
 F src/pager.c 9656ad4e8331efb8a4f94f7a0c6440b98caea073950a367ea0c728a53b8e62c9
 F src/pager.h 4b1140d691860de0be1347474c51fee07d5420bd7f802d38cbab8ea4ab9f538a
@@ -1705,7 +1705,7 @@ F test/swarmvtab2.test c948cb2fdfc5b01d85e8f6d6504854202dc1a0782ab2a0ed61538f27c
 F test/swarmvtab3.test 41a3ab47cb7a834d4e5336425103b617410a67bb95d335ef536f887587ece073
 F test/swarmvtabfault.test 8a67a9f27c61073a47990829e92bc0c64420a807cb642b15a25f6c788210ed95
 F test/symlink.test 4368af0e213dd6e726a6240a16f2bb96a5a58f83f2d5d60652f27547b28cbf06
-F test/symlink2.test 0b7734533f198bbc46fb8ea984ffaea537c8ee949eaba8805a92ed9969573956
+F test/symlink2.test bf932ff7fe95c9dbb39d2a990df9098b0ea943233c97e40098e0a8d6b559a96f
 F test/sync.test 89539f4973c010eda5638407e71ca7fddbcd8e0594f4c9980229f804d4333092
 F test/sync2.test 8f9f7d4f6d5be8ca8941a8dadcc4299e558cb6a1ff653a9469146c7a76ef2039
 F test/syscall.test a067468b43b8cb2305e9f9fe414e5f40c875bb5d2cba5f00b8154396e95fcf37
@@ -1989,7 +1989,7 @@ F test/vtab_shared.test 5253bff2355a9a3f014c15337da7e177ab0ef8ad
 F test/vtabdistinct.test 7688f0889358f849fd60bbfde1ded38b014b18066076d4bfbb75395804dfe072
 F test/vtabdrop.test 65d4cf6722972e5499bdaf0c0d70ee3b8133944a4e4bc31862563f32a7edca12
 F test/vtabrhs1.test 9b5ecbc74a689500c33a4b2b36761f9bcc22fcc4e3f9d21066ee0c9c74cf5f6c
-F test/wal.test 3628a18ed2ba1cad58978802381f89e6076d225d5c93836d3eed464f867fa288
+F test/wal.test 519c550255c78f55959e9159b93ebbfad2b4e9f36f5b76284da41f572f9d27da
 F test/wal2.test e89ca97593b5e92849039f6b68ce1719a853ef20fa22c669ec1ac452fbc31cab
 F test/wal3.test 5de023bb862fd1eb9d2ad26fa8d9c43abb5370582e5b08b2ae0d6f93661bc310
 F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
@@ -2202,8 +2202,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 54853421ba012c192ee2a41873e6ba10e187a6ec2e23182ccbec56864604166f de7064d118c33aab0fff39d072593b287c291870b843d093045300bde464420f
-R 3c243a933b362fd80871bde637111a1b
+P eb13b8b3ef67ca8a252f7a4fd5a83ed31fefe68aa5ad8693d9d1f17218f4d176
+R 28e862b65e1c230b43e9a6086c499bb3
 U dan
-Z 9f9402747ee81462cbb1b0010bd49025
+Z c28b93b8951a4bd56ddee9ab67e53504
 # Remove this line to create a well-formed Fossil manifest.
index 30c13113b4d0605f5eeca081846a426c6e41376d..22885b6453391492c73339b47f1d1adf795aec8a 100644 (file)
@@ -1 +1 @@
-eb13b8b3ef67ca8a252f7a4fd5a83ed31fefe68aa5ad8693d9d1f17218f4d176
+68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808
index 7b411018f58a0e0cb6ce2bbeda0825aadfc5b073..7eb5b50be15c749d3f828f8483e5233592d68f36 100644 (file)
@@ -314,12 +314,22 @@ static int winMutexTry(sqlite3_mutex *p){
   /*
   ** The sqlite3_mutex_try() routine is very rarely used, and when it
   ** is used it is merely an optimization.  So it is OK for it to always
-  ** fail on some platforms. But - it is required for ENABLE_SETLK_TIMEOUT
-  ** builds.
+  ** fail.
+  **
+  ** The TryEnterCriticalSection() interface is only available on WinNT.
+  ** And some windows compilers complain if you try to use it without
+  ** first doing some #defines that prevent SQLite from building on Win98.
+  ** For that reason, we will omit this optimization for now.  See
+  ** ticket #2685.
   */
 #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0400
   assert( winMutex_isInit==1 );
-  if( sqlite3_win32_is_nt() && TryEnterCriticalSection(&p->mutex) ){
+  assert( winMutex_isNt>=-1 && winMutex_isNt<=1 );
+  if( winMutex_isNt<0 ){
+    winMutex_isNt = sqlite3_win32_is_nt();
+  }
+  assert( winMutex_isNt==0 || winMutex_isNt==1 );
+  if( winMutex_isNt && TryEnterCriticalSection(&p->mutex) ){
 #ifdef SQLITE_DEBUG
     p->owner = tid;
     p->nRef++;
index 77855a8dd0905a23bf46251b9ba42769b48df62c..b1996278c81cd0fa8e8d3d293c114863e293e000 100644 (file)
@@ -4290,6 +4290,7 @@ static int unixGetpagesize(void){
 **
 **      nRef
 **
+** The following fields are read-only after the object is created:
 **
 **      hShm
 **      zFilename
index a02b0c5358bebffb39dc9f2375b71d0cad860bf1..c042ac162ebc62b867233de4ce6e5b2d164f65b7 100644 (file)
@@ -3874,25 +3874,6 @@ static int winShmMutexHeld(void) {
 ** Either winShmNode.mutex must be held or winShmNode.nRef==0 and
 ** winShmMutexHeld() is true when reading or writing any other field
 ** in this structure.
-**
-** aMutex[SQLITE_SHM_NLOCK]:
-**   Normally, when SQLITE_ENABLE_SETLK_TIMEOUT is not defined, mutex 
-**   winShmNode.mutex is used to serialize calls to the xShmLock() 
-**   method.
-**
-**   For SQLITE_ENABLE_SETLK_TIMEOUT builds, xShmLock() only takes the
-**   mutexes in the aMutex[] array that correspond to locks being taken
-**   or released. This means that:
-**
-**     *  Modifying the winShmNode.pFirst list requires holding *all*
-**        the locks in the aMutex[] array.
-**
-**     *  Reads and writes to winShm.sharedMask and winShm.exclMask must
-**        use AtomicLoad() and AtomicStore(). This is because it may be
-**        read by other threads while it is being modified.
-**
-**   TODO: winShmNode.mutex is held for the space of time when LockFileEx() 
-**   is called on winShmNode.hFile.
 */
 struct winShmNode {
   sqlite3_mutex *mutex;      /* Mutex to access this object */
@@ -3913,7 +3894,6 @@ struct winShmNode {
   int nRef;                  /* Number of winShm objects pointing to this */
   winShm *pFirst;            /* All winShm objects pointing to this */
   winShmNode *pNext;         /* Next in list of all winShmNode objects */
-
 #if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE)
   u8 nextShmId;              /* Next available winShm.id value */
 #endif
index 3564e5c39962f90953b91c81ffd3e2b0d3cc088a..9a2237e4c0e0e3f33fa9a7e1169906a1af933b13 100644 (file)
@@ -37,11 +37,10 @@ proc canCreateWin32Symlink {} {
   set link [file join $::testdir lnk[pid].sym]
   if {[file exists $link]} { return 0 }
   set target [info nameofexecutable]
-  if {[catch {createWin32Symlink $link $target} msg] == 0} {
+  if {[catch {createWin32Symlink $link $target}] == 0} {
     deleteWin32Symlink $link
     return 1
   }
-  puts $msg
   return 0
 }
 
index 533e51c21bec09f5cd577fb63a1cafea9673bfb8..50988debe3cae77f67ffc7a8e7fbee2b3c8fe363 100644 (file)
@@ -506,7 +506,7 @@ do_multiclient_test tn {
   do_test wal-10.$tn.6 {
     sql3 {SELECT * FROM t1}
   } {1 2 3 4 5 6}
-  do_test wal-10.$tn.7a {
+  do_test wal-10.$tn.7 {
     sql2 COMMIT
   } {}
 
@@ -521,7 +521,7 @@ do_multiclient_test tn {
   # to the database (as it is not locked and [db] is reading the latest
   # snapshot).
   #
-  do_test wal-10.$tn.7b {
+  do_test wal-10.$tn.7 {
     sql2 { BEGIN; INSERT INTO t1 VALUES(7, 8) ; }
     catchsql { INSERT INTO t1 VALUES(9, 10) }
   } {1 {database is locked}}