From 23498de7bee3032e6d9f63ed120d5b26848bd290 Mon Sep 17 00:00:00 2001 From: dan Date: Tue, 3 Dec 2024 19:41:41 +0000 Subject: [PATCH] Back out minor changes not required by this branch. FossilOrigin-Name: 68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808 --- manifest | 20 ++++++++++---------- manifest.uuid | 2 +- src/mutex_w32.c | 16 +++++++++++++--- src/os_unix.c | 1 + src/os_win.c | 20 -------------------- test/symlink2.test | 3 +-- test/wal.test | 4 ++-- 7 files changed, 28 insertions(+), 38 deletions(-) diff --git a/manifest b/manifest index 0f87538b06..0c58e47c89 100644 --- 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. diff --git a/manifest.uuid b/manifest.uuid index 30c13113b4..22885b6453 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -eb13b8b3ef67ca8a252f7a4fd5a83ed31fefe68aa5ad8693d9d1f17218f4d176 +68c34ffd2332d89cb6400bce5dad350a6e48c395924b8380cbeb0dbe64141808 diff --git a/src/mutex_w32.c b/src/mutex_w32.c index 7b411018f5..7eb5b50be1 100644 --- a/src/mutex_w32.c +++ b/src/mutex_w32.c @@ -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++; diff --git a/src/os_unix.c b/src/os_unix.c index 77855a8dd0..b1996278c8 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -4290,6 +4290,7 @@ static int unixGetpagesize(void){ ** ** nRef ** +** The following fields are read-only after the object is created: ** ** hShm ** zFilename diff --git a/src/os_win.c b/src/os_win.c index a02b0c5358..c042ac162e 100644 --- a/src/os_win.c +++ b/src/os_win.c @@ -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 diff --git a/test/symlink2.test b/test/symlink2.test index 3564e5c399..9a2237e4c0 100644 --- a/test/symlink2.test +++ b/test/symlink2.test @@ -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 } diff --git a/test/wal.test b/test/wal.test index 533e51c21b..50988debe3 100644 --- a/test/wal.test +++ b/test/wal.test @@ -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}} -- 2.47.2