From: dan Date: Fri, 30 Oct 2015 20:54:25 +0000 (+0000) Subject: Add mutex operations to test code in test3.c to avoid triggering assert() failures... X-Git-Tag: version-3.10.0~181 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a75c8ad942df4cbd0aec29dd2e65abfadd24ac2;p=thirdparty%2Fsqlite.git Add mutex operations to test code in test3.c to avoid triggering assert() failures in certain configurations. FossilOrigin-Name: 9f19420b0a79dff65fc3a9d548f4b3fc4955f9f9 --- diff --git a/manifest b/manifest index f83dc922cc..b9fdab8d24 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Increase\sthe\sversion\snumber\sto\s3.10.0,\sdue\sto\sthe\saddition\sof\sthe\nsqlite3_db_cacheflush()\sinterface. -D 2015-10-30T16:36:42.626 +C Add\smutex\soperations\sto\stest\scode\sin\stest3.c\sto\savoid\striggering\sassert()\sfailures\sin\scertain\sconfigurations. +D 2015-10-30T20:54:25.598 F Makefile.in 4469ed8b02a9934fea9503d791165367d19db2f7 F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@ -352,7 +352,7 @@ F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e F src/tclsqlite.c d9439b6a910985b7fff43ba6756bcef00de22649 F src/test1.c 9ac5cbfe3c859ab7518edc5109a2959d6bf7b059 F src/test2.c 577961fe48961b2f2e5c8b56ee50c3f459d3359d -F src/test3.c f7ae1d6a4aa07aac257de18a43800c1199b513fc +F src/test3.c a8887dabbbee3059af338f20d290084a63ed1b0f F src/test4.c d168f83cc78d02e8d35567bb5630e40dcd85ac1e F src/test5.c 5a34feec76d9b3a86aab30fd4f6cc9c48cbab4c1 F src/test6.c 41cacf3b0dd180823919bf9e1fbab287c9266723 @@ -1397,7 +1397,7 @@ F tool/vdbe_profile.tcl 246d0da094856d72d2c12efec03250d71639d19f F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P ad80d3073388c59f67171720efc6ef766e19886f -R 05540c814207efb67f7c8e8b3a47d3f0 -U drh -Z 14542ee53e71e033be97bac3859f7dcc +P 7565b046ff939e8310631397a4526fbd98b99aaf +R 614298574df997c982bceb820bb362b3 +U dan +Z ee268c45e17adbdf740dc7b91893f898 diff --git a/manifest.uuid b/manifest.uuid index 3e10f9d11a..4eeefb872e 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -7565b046ff939e8310631397a4526fbd98b99aaf \ No newline at end of file +9f19420b0a79dff65fc3a9d548f4b3fc4955f9f9 \ No newline at end of file diff --git a/src/test3.c b/src/test3.c index 212dff5fad..2a41068e5f 100644 --- a/src/test3.c +++ b/src/test3.c @@ -217,6 +217,7 @@ static int btree_cursor( if( wrFlag ) wrFlag = BTREE_WRCSR; pCur = (BtCursor *)ckalloc(sqlite3BtreeCursorSize()); memset(pCur, 0, sqlite3BtreeCursorSize()); + sqlite3_mutex_enter(pBt->db->mutex); sqlite3BtreeEnter(pBt); #ifndef SQLITE_OMIT_SHARED_CACHE rc = sqlite3BtreeLockTable(pBt, iTable, !!wrFlag); @@ -225,6 +226,7 @@ static int btree_cursor( rc = sqlite3BtreeCursor(pBt, iTable, wrFlag, 0, pCur); } sqlite3BtreeLeave(pBt); + sqlite3_mutex_leave(pBt->db->mutex); if( rc ){ ckfree((char *)pCur); Tcl_AppendResult(interp, sqlite3ErrName(rc), 0); @@ -257,9 +259,11 @@ static int btree_close_cursor( } pCur = sqlite3TestTextToPtr(argv[1]); pBt = pCur->pBtree; + sqlite3_mutex_enter(pBt->db->mutex); sqlite3BtreeEnter(pBt); rc = sqlite3BtreeCloseCursor(pCur); sqlite3BtreeLeave(pBt); + sqlite3_mutex_leave(pBt->db->mutex); ckfree((char *)pCur); if( rc ){ Tcl_AppendResult(interp, sqlite3ErrName(rc), 0); @@ -630,9 +634,11 @@ static int btree_insert( } pCur = (BtCursor*)sqlite3TestTextToPtr(Tcl_GetString(objv[1])); + sqlite3_mutex_enter(pCur->pBtree->db->mutex); sqlite3BtreeEnter(pCur->pBtree); rc = sqlite3BtreeInsert(pCur, pKey, nKey, pData, nData, 0, 0, 0); sqlite3BtreeLeave(pCur->pBtree); + sqlite3_mutex_leave(pCur->pBtree->db->mutex); Tcl_ResetResult(interp); if( rc ){