Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Correction to check-in [1025873fdf], tighten up the number of static test mutexes. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
4e515897af97cb3a4158bcc34318992e |
User & Date: | mistachkin 2015-07-03 23:29:55.094 |
Context
2015-07-04
| ||
00:04 | Sync up Makefile clean targets for FTS5. (check-in: 43ead44ef6 user: mistachkin tags: trunk) | |
2015-07-03
| ||
23:29 | Correction to check-in [1025873fdf], tighten up the number of static test mutexes. (check-in: 4e515897af user: mistachkin tags: trunk) | |
23:12 | Update clean target in MSVC makefile. (check-in: e6c03e7201 user: mistachkin tags: trunk) | |
Changes
Changes to src/test_mutex.c.
︙ | ︙ | |||
15 16 17 18 19 20 21 | #include "tcl.h" #include "sqlite3.h" #include "sqliteInt.h" #include <stdlib.h> #include <assert.h> #include <string.h> | | > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include "tcl.h" #include "sqlite3.h" #include "sqliteInt.h" #include <stdlib.h> #include <assert.h> #include <string.h> #define MAX_MUTEXES (SQLITE_MUTEX_STATIC_VFS3+1) #define STATIC_MUTEXES (MAX_MUTEXES-(SQLITE_MUTEX_RECURSIVE+1)) /* defined in main.c */ extern const char *sqlite3ErrName(int); static const char *aName[MAX_MUTEXES+1] = { "fast", "recursive", "static_master", "static_mem", "static_open", "static_prng", "static_lru", "static_pmem", |
︙ | ︙ | |||
41 42 43 44 45 46 47 | static struct test_mutex_globals { int isInstalled; /* True if installed */ int disableInit; /* True to cause sqlite3_initalize() to fail */ int disableTry; /* True to force sqlite3_mutex_try() to fail */ int isInit; /* True if initialized */ sqlite3_mutex_methods m; /* Interface to "real" mutex system */ int aCounter[MAX_MUTEXES]; /* Number of grabs of each type of mutex */ | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | static struct test_mutex_globals { int isInstalled; /* True if installed */ int disableInit; /* True to cause sqlite3_initalize() to fail */ int disableTry; /* True to force sqlite3_mutex_try() to fail */ int isInit; /* True if initialized */ sqlite3_mutex_methods m; /* Interface to "real" mutex system */ int aCounter[MAX_MUTEXES]; /* Number of grabs of each type of mutex */ sqlite3_mutex aStatic[STATIC_MUTEXES]; /* The static mutexes */ } g = {0}; /* Return true if the countable mutex is currently held */ static int counterMutexHeld(sqlite3_mutex *p){ return g.m.xMutexHeld(p->pReal); } |
︙ | ︙ | |||
92 93 94 95 96 97 98 | pReal = g.m.xMutexAlloc(eType); if( !pReal ) return 0; if( eType==SQLITE_MUTEX_FAST || eType==SQLITE_MUTEX_RECURSIVE ){ pRet = (sqlite3_mutex *)malloc(sizeof(sqlite3_mutex)); }else{ | | | | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | pReal = g.m.xMutexAlloc(eType); if( !pReal ) return 0; if( eType==SQLITE_MUTEX_FAST || eType==SQLITE_MUTEX_RECURSIVE ){ pRet = (sqlite3_mutex *)malloc(sizeof(sqlite3_mutex)); }else{ int eStaticType = eType - (MAX_MUTEXES - STATIC_MUTEXES); assert( eStaticType>=0 ); assert( eStaticType<STATIC_MUTEXES ); pRet = &g.aStatic[eStaticType]; } pRet->eType = eType; pRet->pReal = pReal; return pRet; } |
︙ | ︙ |