From: drh Date: Thu, 2 Sep 2010 14:00:19 +0000 (+0000) Subject: Fix the computation of the offset on the mmap() for the Nth shared memory X-Git-Tag: experimental~79 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=37e8b5b2cc0845accf38d1e0ef798cad6ad227b3;p=thirdparty%2Fsqlite.git Fix the computation of the offset on the mmap() for the Nth shared memory region. Because of the way shared memory is accessed, the old computation, though wrong, still happened to always get the right answer. Nevertheless, it is good to do the computation correctly. FossilOrigin-Name: 36397f62f2e3a62b4d5730b29c197449c6850cac --- diff --git a/manifest b/manifest index 1f33aedbf1..1ea16820ee 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,8 @@ -C Add\stests\sfor\sthe\sEXISTS\soperator\sto\se_expr.test. -D 2010-09-02T11:53:12 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +C Fix\sthe\scomputation\sof\sthe\soffset\son\sthe\smmap()\sfor\sthe\sNth\sshared\smemory\nregion.\s\sBecause\sof\sthe\sway\sshared\smemory\sis\saccessed,\sthe\sold\scomputation,\nthough\swrong,\sstill\shappened\sto\salways\sget\sthe\sright\sanswer.\s\sNevertheless,\nit\sis\sgood\sto\sdo\sthe\scomputation\scorrectly. +D 2010-09-02T14:00:20 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in c599a15d268b1db2aeadea19df2adc3bf2eb6bee F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -157,7 +160,7 @@ F src/os.c 22ac61d06e72a0dac900400147333b07b13d8e1d F src/os.h 9dbed8c2b9c1f2f2ebabc09e49829d4777c26bf9 F src/os_common.h a8f95b81eca8a1ab8593d23e94f8a35f35d4078f F src/os_os2.c 72d0b2e562952a2464308c4ce5f7913ac10bef3e -F src/os_unix.c 11194cbcf6a57456e58022dc537ab8c3497d9bb9 +F src/os_unix.c 6152042c3a619fbc390eeb59a8eecafa40afc2e4 F src/os_win.c 6fb3447ffe56df0dbb2d1ac93f75c9c748e009e1 F src/pager.c 51d77a9df463f77bf214f32bb2dbc2d0da41fc3e F src/pager.h 8167a1e720d0b7a2790079007128e594010220ad @@ -853,7 +856,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f -P 4f20f8ba73691c8a1dc33d2fcd1e793dd08f00a8 -R 56226584a3a9f449af1f96c66ab8d183 -U dan -Z 0980fdb8cedd555819cdc0c243aa9897 +P 9f9a95cc80961b2733d34bd66cfccfbffb358ed6 +R 375117f40846cbcf3ed59771957c33dc +U drh +Z 813bffd67570d279df85b00e1e0381f2 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.6 (GNU/Linux) + +iD8DBQFMf64DoxKgR168RlERAm3mAKCJYg0NgV/9x1Zy7yq3CaAtP7HrvQCfRVwM +WXwE2VoEyF7jaJvyxhfzaLc= +=CeXU +-----END PGP SIGNATURE----- diff --git a/manifest.uuid b/manifest.uuid index ed16bc4c90..03845064bb 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -9f9a95cc80961b2733d34bd66cfccfbffb358ed6 \ No newline at end of file +36397f62f2e3a62b4d5730b29c197449c6850cac \ No newline at end of file diff --git a/src/os_unix.c b/src/os_unix.c index e3ea4f222f..e0b61f978f 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -3559,7 +3559,7 @@ static int unixShmMap( pShmNode->apRegion = apNew; while(pShmNode->nRegion<=iRegion){ void *pMem = mmap(0, szRegion, PROT_READ|PROT_WRITE, - MAP_SHARED, pShmNode->h, iRegion*szRegion + MAP_SHARED, pShmNode->h, pShmNode->nRegion*szRegion ); if( pMem==MAP_FAILED ){ rc = SQLITE_IOERR;