Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add the "volatile" keyword to variables in the Pager structure used for synchronization when memory management is enabled. (CVS 5153) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
25b9f3b9b2d996ab4582b22b695c4dbd |
User & Date: | drh 2008-05-21 15:38:15.000 |
Context
2008-05-22
| ||
13:56 | Ensure that the db.mallocFailed flag is cleared before sqlite3_errmsg16() returns. (CVS 5154) (check-in: 0d47653a3c user: danielk1977 tags: trunk) | |
2008-05-21
| ||
15:38 | Add the "volatile" keyword to variables in the Pager structure used for synchronization when memory management is enabled. (CVS 5153) (check-in: 25b9f3b9b2 user: drh tags: trunk) | |
15:01 | Update sqlite3_open*() documentation on shared cache/filename matching relationship. Ticket #3132. (CVS 5152) (check-in: 235e384eca user: shane tags: trunk) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
14 15 16 17 18 19 20 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.450 2008/05/21 15:38:15 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" #include <assert.h> #include <string.h> /* |
︙ | ︙ | |||
397 398 399 400 401 402 403 | void *pCodecArg; /* First argument to xCodec() */ #endif int nHash; /* Size of the pager hash table */ PgHdr **aHash; /* Hash table to map page number to PgHdr */ #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT Pager *pNext; /* Doubly linked list of pagers on which */ Pager *pPrev; /* sqlite3_release_memory() will work */ | | | | 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | void *pCodecArg; /* First argument to xCodec() */ #endif int nHash; /* Size of the pager hash table */ PgHdr **aHash; /* Hash table to map page number to PgHdr */ #ifdef SQLITE_ENABLE_MEMORY_MANAGEMENT Pager *pNext; /* Doubly linked list of pagers on which */ Pager *pPrev; /* sqlite3_release_memory() will work */ volatile int iInUseMM; /* Non-zero if unavailable to MM */ volatile int iInUseDB; /* Non-zero if in sqlite3_release_memory() */ #endif char *pTmpSpace; /* Pager.pageSize bytes of space for tmp use */ char dbFileVers[16]; /* Changes whenever database file changes */ }; /* ** The following global variables hold counters used for |
︙ | ︙ |