Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make sure xShmGet is never called while already holding the shared-memory segment. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
92ebdbc5f64ac63796ff56c1e1aec3b9 |
User & Date: | drh 2010-05-13 09:11:32.000 |
Context
2010-05-13
| ||
09:40 | Remerge mistaken test_osinst.c changes. (check-in: e8c10d3cf6 user: dan tags: trunk) | |
09:11 | Make sure xShmGet is never called while already holding the shared-memory segment. (check-in: 92ebdbc5f6 user: drh tags: trunk) | |
08:53 | The refactored of VFS SHM primitives are now working so merge the wal-refactor branch back into the trunk. (check-in: bce21c1838 user: drh tags: trunk) | |
Changes
Changes to src/wal.c.
︙ | ︙ | |||
415 416 417 418 419 420 421 422 423 424 425 426 427 428 | ** ** The reqSize parameter is the minimum required size of the mapping. ** A value of -1 means "don't care". */ static int walIndexMap(Wal *pWal, int reqSize){ int rc = SQLITE_OK; if( pWal->pWiData==0 || reqSize>pWal->szWIndex ){ rc = sqlite3OsShmGet(pWal->pDbFd, reqSize, &pWal->szWIndex, (void**)(char*)&pWal->pWiData); if( rc==SQLITE_OK && pWal->pWiData==0 ){ /* Make sure pWal->pWiData is not NULL while we are holding the ** lock on the mapping. */ assert( pWal->szWIndex==0 ); pWal->pWiData = &pWal->iCallback; | > | 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 | ** ** The reqSize parameter is the minimum required size of the mapping. ** A value of -1 means "don't care". */ static int walIndexMap(Wal *pWal, int reqSize){ int rc = SQLITE_OK; if( pWal->pWiData==0 || reqSize>pWal->szWIndex ){ walIndexUnmap(pWal); rc = sqlite3OsShmGet(pWal->pDbFd, reqSize, &pWal->szWIndex, (void**)(char*)&pWal->pWiData); if( rc==SQLITE_OK && pWal->pWiData==0 ){ /* Make sure pWal->pWiData is not NULL while we are holding the ** lock on the mapping. */ assert( pWal->szWIndex==0 ); pWal->pWiData = &pWal->iCallback; |
︙ | ︙ |