]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized.
authormistachkin <mistachkin@noemail.net>
Mon, 14 Sep 2015 22:52:37 +0000 (22:52 +0000)
committermistachkin <mistachkin@noemail.net>
Mon, 14 Sep 2015 22:52:37 +0000 (22:52 +0000)
FossilOrigin-Name: fea8c0b281b374f2e0b82bec8788275e963a9401

manifest
manifest.uuid
src/main.c

index 7d3bf391d280d0eae5f52e82b0ec11eeaeaf9908..7874a645f1e05b1eed08b462f3aca27d4febe153 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sstatic\sVFS\smutexes\sto\sthe\sprimary\sheader\sfile\scomments.
-D 2015-09-13T20:15:01.158
+C Re-check\ssqlite3GlobalConfig.isInit\safter\sthe\smutex\ssubsystem\shas\sbeen\sinitialized.
+D 2015-09-14T22:52:37.711
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in f85066ce844a28b671aaeeff320921cd0ce36239
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -305,7 +305,7 @@ F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d
 F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e
 F src/lempar.c d344a95d60c24e2f490ee59db9784b1b17439012
 F src/loadext.c f0b66d28e377fd6c6d36cc9d92df1ff251ebee44
-F src/main.c e17fcffae4306a9b8334faf3bac80d7396850b54
+F src/main.c babadd4638315032625ad64139a0b8c09ac77f5d
 F src/malloc.c 3a37ce6979a40f499d8cea9e9ab4e8517854d35d
 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
 F src/mem1.c abe6ee469b6c5a35c7f22bfeb9c9bac664a1c987
@@ -1386,7 +1386,10 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 786333e05a75406bbd0b5c9c7beb8f16022eabec
-R 1a3f3f98d74800359cb14e46ec6e0053
+P 9a867d9fbe74fe2b33d55e32737a66e9a77b7466
+R 7f32f01a4bbb9942fef5c56e823eae40
+T *branch * mutexInitIsInitReCheck
+T *sym-mutexInitIsInitReCheck *
+T -sym-trunk *
 U mistachkin
-Z 7262f2bc6346d75912550091a71aa522
+Z eb7dbc33a06a7860a25783953db56f61
index 671ed1e6ca8b423ecb684bb8543034988e72ae09..1af6157f49195b639d4049276d6828e91d922c94 100644 (file)
@@ -1 +1 @@
-9a867d9fbe74fe2b33d55e32737a66e9a77b7466
\ No newline at end of file
+fea8c0b281b374f2e0b82bec8788275e963a9401
\ No newline at end of file
index 575cad92c578368f31ba0c3b00e5c7efcc6fa830..dce5606941a570878a5d69e0b685ad11282194db 100644 (file)
@@ -171,7 +171,13 @@ int sqlite3_initialize(void){
   */
   MUTEX_LOGIC( pMaster = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MASTER); )
   sqlite3_mutex_enter(pMaster);
-  sqlite3GlobalConfig.isMutexInit = 1;
+  if( sqlite3GlobalConfig.isInit ){
+    assert( sqlite3GlobalConfig.isMutexInit );
+    assert( sqlite3GlobalConfig.isMallocInit );
+    sqlite3_mutex_leave(pMaster);
+    return SQLITE_OK;
+  }
+  sqlite3GlobalConfig.isMutexInit = 1; /* possibly redundant */
   if( !sqlite3GlobalConfig.isMallocInit ){
     rc = sqlite3MallocInit();
   }