Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | threads |
Files: | files | file ages | folders |
SHA1: |
f49ba1c926c63ee1c4609930138389fc |
User & Date: | drh 2014-05-03 13:53:37.085 |
Context
2014-05-03
| ||
14:28 | Fix a problem in the sorter causing it to return spurious SQLITE_NOMEM errors when configured to use memsys3 or memsys5. (check-in: 3a66c4e1bf user: dan tags: threads) | |
13:53 | Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. (check-in: f49ba1c926 user: drh tags: threads) | |
12:00 | Add two new static mutexes, SQLITE_MUTEX_STATIC_APP1 and _APP2, for use by the application program. First intended use is in test programs for the memory allocation logic where one does not want to allocating a _FAST or _RECURSIVE mutex since that would involve using the memory allocation system under test. (check-in: 13686035dd user: drh tags: threads) | |
Changes
Changes to src/mutex.c.
︙ | ︙ | |||
77 78 79 80 81 82 83 | } /* ** Retrieve a pointer to a static mutex or allocate a new dynamic one. */ sqlite3_mutex *sqlite3_mutex_alloc(int id){ #ifndef SQLITE_OMIT_AUTOINIT | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | } /* ** Retrieve a pointer to a static mutex or allocate a new dynamic one. */ sqlite3_mutex *sqlite3_mutex_alloc(int id){ #ifndef SQLITE_OMIT_AUTOINIT if( id<=SQLITE_MUTEX_RECURSIVE && sqlite3_initialize() ) return 0; #endif return sqlite3GlobalConfig.mutex.xMutexAlloc(id); } sqlite3_mutex *sqlite3MutexAlloc(int id){ if( !sqlite3GlobalConfig.bCoreMutex ){ return 0; |
︙ | ︙ |
Changes to src/mutex_noop.c.
︙ | ︙ | |||
103 104 105 106 107 108 109 | /* ** The sqlite3_mutex_alloc() routine allocates a new ** mutex and returns a pointer to it. If it returns NULL ** that means that a mutex could not be allocated. */ static sqlite3_mutex *debugMutexAlloc(int id){ | | | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | /* ** The sqlite3_mutex_alloc() routine allocates a new ** mutex and returns a pointer to it. If it returns NULL ** that means that a mutex could not be allocated. */ static sqlite3_mutex *debugMutexAlloc(int id){ static sqlite3_debug_mutex aStatic[8]; sqlite3_debug_mutex *pNew = 0; switch( id ){ case SQLITE_MUTEX_FAST: case SQLITE_MUTEX_RECURSIVE: { pNew = sqlite3Malloc(sizeof(*pNew)); if( pNew ){ pNew->id = id; |
︙ | ︙ |