From 16825cbebb35f86aca441d17463421f4293033dc Mon Sep 17 00:00:00 2001 From: danielk1977 Date: Tue, 14 Feb 2006 14:46:41 +0000 Subject: [PATCH] test_async.c: Writer-thread should not relinquish mutex when writing a file for which only one file handle is open (fixes bug introduced in (3093)). (CVS 3097) FossilOrigin-Name: f0c45b7eab219ee812dbd2eb5e1c39fdf52a0ff2 --- manifest | 12 ++++++------ manifest.uuid | 2 +- src/test_async.c | 9 +-------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/manifest b/manifest index 964773c037..b0dab45046 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Account\sfor\sa\smalloc\sfailure\sin\sthe\sasynchronous\swriter\sthread\sin\stest_async.c\s(CVS\s3096) -D 2006-02-14T14:02:08 +C test_async.c:\sWriter-thread\sshould\snot\srelinquish\smutex\swhen\swriting\sa\sfile\sfor\swhich\sonly\sone\sfile\shandle\sis\sopen\s(fixes\sbug\sintroduced\sin\s(3093)).\s(CVS\s3097) +D 2006-02-14T14:46:42 F Makefile.in 5d8dff443383918b700e495de42ec65bc1c8865b F Makefile.linux-gcc 74ba0eadf88748a9ce3fd03d2a3ede2e6715baec F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -80,7 +80,7 @@ F src/test4.c ff4e9406b3d2809966d8f0e82468ac5508be9f56 F src/test5.c 7162f8526affb771c4ed256826eee7bb9eca265f F src/test6.c 60a02961ceb7b3edc25f5dc5c1ac2556622a76de F src/test7.c d28d3e62f9594923648fc6a8fb030eba36564ba1 -F src/test_async.c 2caf868189978e12feece7ec3db5e6b6829cedf4 +F src/test_async.c e3deaedd4d86a56391b81808fde9e44fbd92f1d3 F src/test_md5.c 6c42bc0a3c0b54be34623ff77a0eec32b2fa96e3 F src/test_server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/tokenize.c 382b3bb0ca26eb9153b5d20b246ef512a114a24f @@ -353,7 +353,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 239e53b4f29b4faf2dbdc2aebd2332ad25b14286 -R 2158cc9ca69931f8ebc942cba11a47eb +P 2f2a8a69cb380dc30b85a792c369020fec3c79a5 +R 65c6be40c02ae56ad5b63d5b72efbfaf U danielk1977 -Z 6ea576e81af03625c298029f69fe98ad +Z 15534709d725337aa40290e56295a82a diff --git a/manifest.uuid b/manifest.uuid index b79592bd19..e51a7bd3dd 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2f2a8a69cb380dc30b85a792c369020fec3c79a5 \ No newline at end of file +f0c45b7eab219ee812dbd2eb5e1c39fdf52a0ff2 \ No newline at end of file diff --git a/src/test_async.c b/src/test_async.c index 8e0099d995..f5167341c1 100644 --- a/src/test_async.c +++ b/src/test_async.c @@ -498,10 +498,6 @@ static int asyncRead(OsFile *id, void *obuf, int amt){ AsyncFile *pFile = (AsyncFile *)id; OsFile *pBase = pFile->pBaseRead; - if( !pBase ){ - pBase = pFile->pBaseWrite; - } - /* If an I/O error has previously occurred on this file, then all ** subsequent operations fail. */ @@ -588,9 +584,6 @@ int asyncFileSize(OsFile *id, i64 *pSize){ ** file-system. */ pBase = ((AsyncFile *)id)->pBaseRead; - if( !pBase ){ - pBase = ((AsyncFile *)id)->pBaseWrite; - } if( pBase ){ rc = sqlite3OsFileSize(pBase, &s); } @@ -1026,7 +1019,7 @@ static void *asyncWriterThread(void *NotUsed){ pthread_mutex_lock(&async.queueMutex); holdingMutex = 1; if( rc==SQLITE_OK ){ - pFile->pBaseWrite = pBase; + pFile->pBaseRead = pBase; } break; } -- 2.47.2