aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authordanielk1977 <danielk1977@noemail.net>2008-06-26 08:29:34 +0000
committerdanielk1977 <danielk1977@noemail.net>2008-06-26 08:29:34 +0000
commit71bc31c68d1228c5ca8fcc6e50f5a77a91a06b97 (patch)
tree8426069ec3b504f6e836b5be6bb912e75e8959a0 /test
parent4766b29d95d59a4d7e88b8d644a568d406643271 (diff)
downloadsqlite-71bc31c68d1228c5ca8fcc6e50f5a77a91a06b97.tar.gz
sqlite-71bc31c68d1228c5ca8fcc6e50f5a77a91a06b97.zip
Fix a race condition in sqlite3_initialize(). (CVS 5310)
FossilOrigin-Name: 70b2ed2afcf1757d1c58f3a83dad4a5fb226ae63
Diffstat (limited to 'test')
-rw-r--r--test/mutex1.test12
-rw-r--r--test/quick.test3
2 files changed, 9 insertions, 6 deletions
diff --git a/test/mutex1.test b/test/mutex1.test
index 24e27ed78..685562f77 100644
--- a/test/mutex1.test
+++ b/test/mutex1.test
@@ -9,7 +9,7 @@
#
#***********************************************************************
#
-# $Id: mutex1.test,v 1.4 2008/06/19 17:54:33 drh Exp $
+# $Id: mutex1.test,v 1.5 2008/06/26 08:29:35 danielk1977 Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
@@ -27,8 +27,9 @@ proc mutex_counters {varname} {
#-------------------------------------------------------------------------
# Tests mutex1-1.* test that sqlite3_config() returns SQLITE_MISUSE if
# is called at the wrong time. And that the first time sqlite3_initialize
-# is called it obtains the 'static_master' mutex. Subsequent calls are
-# no-ops that do not require a mutex.
+# is called it obtains the 'static_master' mutex 3 times and a recursive
+# mutex (sqlite3Config.pInitMutex) twice. Subsequent calls are no-ops
+# that do not require any mutexes.
#
do_test mutex1-1.0 {
install_mutex_counters 1
@@ -64,7 +65,7 @@ do_test mutex1-1.6 {
do_test mutex1-1.7 {
mutex_counters counters
list $counters(total) $counters(static_master)
-} {1 1}
+} {6 3}
do_test mutex1-1.8 {
clear_mutex_counters
@@ -96,8 +97,9 @@ ifcapable threadsafe {
sqlite3_shutdown
sqlite3_config $mode
} SQLITE_OK
-
+
do_test mutex1.2.$mode.2 {
+ sqlite3_initialize
clear_mutex_counters
sqlite3 db test.db
catchsql { CREATE TABLE abc(a, b, c) }
diff --git a/test/quick.test b/test/quick.test
index 9f2aa63d9..a4d25903c 100644
--- a/test/quick.test
+++ b/test/quick.test
@@ -6,7 +6,7 @@
#***********************************************************************
# This file runs all tests.
#
-# $Id: quick.test,v 1.83 2008/06/25 17:54:55 danielk1977 Exp $
+# $Id: quick.test,v 1.84 2008/06/26 08:29:35 danielk1977 Exp $
proc lshift {lvar} {
upvar $lvar l
@@ -42,6 +42,7 @@ set EXCLUDE {
all.test
async.test
async2.test
+ async3.test
corrupt.test
crash.test
crash2.test