/ File History
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of src/mutex.c

2018-05-09
13:46
Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. file: [bae36f8a] check-in: [87f261f0] user: drh branch: trunk, size: 9813
2017-12-05
14:58
Fix a compilation problem when both SQLITE_ENABLE_MULTITHREADED_CHECKS and SQLITE_ENABLE_API_ARMOUR are defined. file: [b0212635] check-in: [0342ce51] user: dan branch: trunk, size: 9814
2017-11-28
07:47
Use a symbolic constant instead of a literal (-1) to identify a warn-on-contention mutex. file: [20172f2c] check-in: [12a23c0a] user: dan branch: multithreaded-checks, size: 9800
2017-11-25
17:51
Add experimental feature to detect threading bugs in apps that use SQLITE_CONFIG_MULTITHREADED. Enabled at compile time using SQLITE_ENABLE_MULTITHREADED_CHECKS. file: [38addb10] check-in: [a66886ac] user: dan branch: multithreaded-checks, size: 9179
2017-02-15
00:52
Another compilation fix for POSIX. file: [3e57053d] check-in: [82ef47ea] user: mistachkin branch: mutexDbg2, size: 5932
00:45
Make fine time granularity work on POSIX. file: [3496ef44] check-in: [79057716] user: mistachkin branch: mutexDbg2, size: 5908
2017-02-14
23:58
Experimental enhancements to mutex debugging. file: [64604d2b] check-in: [80481754] user: mistachkin branch: mutexDbg2, size: 5917
2015-09-23
16:33
Correct superfluous whitespace difference. No functional changes. file: [40dc52f7] check-in: [8d69983d] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 5177
16:24
Simplify thread-safety of mutex initialization. file: [7eb31a23] check-in: [da0587c5] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 5176
2015-09-13
18:45
Experimental changes to avoid recusrively calling xMutexInit. file: [b0fbea2c] check-in: [c9400ff1] user: mistachkin branch: mutexInitCmpSwap, size: 5950
2015-09-12
18:57
Import common changes from the mutex initialization branch. file: [8e45800e] check-in: [334720c0] user: mistachkin branch: trunk, size: 4875
04:22
Fix comments. file: [a5c7d63f] check-in: [de3fa51e] user: mistachkin branch: mutexInitCmpSwap, size: 5848
04:19
Specifying an invalid mutex implementation (via SQLITE_CONFIG_MUTEX) should cause the default one to be used instead. file: [87bd895b] check-in: [1a97bc81] user: mistachkin branch: mutexInitCmpSwap, size: 5835
03:35
Add more asserts to the mutex subsystem. file: [58c1a764] check-in: [7562f1fb] user: mistachkin branch: mutexInitCmpSwap, size: 5110
2015-09-11
05:06
Enhance mutex initialization to prevent possible race conditions between sqlite3_initialize() and sqlite3_config(). Also, re-check sqlite3GlobalConfig.isInit after the mutex subsystem has been initialized. file: [de4293e5] check-in: [f6a8f577] user: mistachkin branch: mutexInitCmpSwap, size: 4630
2015-09-06
02:51
Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. file: [a39809c6] check-in: [11a9a786] user: drh branch: trunk, size: 4364
2015-06-15
14:43
Fix harmless compiler warnings. file: [529e9573] check-in: [b0badb99] user: drh branch: trunk, size: 4336
2014-10-27
22:06
Add special handling for static mutexes in sqlite3_mutex_alloc() when automatic calls to sqlite3_initialize() are enabled. file: [19bf9acb] check-in: [7857d27c] user: mistachkin branch: trunk, size: 4193
2014-08-15
22:37
Aborted merge. file: [1439b0ce] check-in: [c8ade949] user: numist branch: obsolete, size: 4224
2014-05-03
13:53
Get SQLITE_MUTEX_STATIC_APP1 and _APP2 working for the debugMutex implementation. file: [84a073c9] check-in: [f49ba1c9] user: drh branch: threads, size: 4127
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. file: [d3b66a56] check-in: [e9d05cbb] user: drh branch: trunk, size: 4097
2011-05-10
14:52
Provide the ability to specify an alternative mutex subsystem at compile-time. - This check-in should have gone on the trunk, not on the 3.7.6 branch. file: [d67ea966] check-in: [489c453d] user: drh branch: mistake, size: 4536
2010-06-02
05:53
Add some 'const' markers to static data that is really constant. file: [69491808] check-in: [e7073e23] user: dan branch: trunk, size: 4087
2010-05-05
00:05
When the in single-threaded mode, the sqlite3_mutex_alloc() interface still returns a non-NULL value. The mutex doesn't do anything, but it tests non-NULL. This way, extensions (or VFSes) that use sqlite3_mutex_alloc() can tell the difference between an OOM error and mutexes being disabled. file: [e2358d8f] check-in: [451fd175] user: drh branch: trunk, size: 4081
2010-05-01
11:19
Fix the sqlite3_mutex_alloc() interface to return NULL (not segfault) when operating in threadsafe mode. (This is a general-purpose bug fix which really ought to be ported to trunk.) file: [c0441251] check-in: [64840a3c] user: drh branch: wal, size: 4097
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [581a272e] check-in: [f6c045f6] user: drh branch: trunk, size: 4047
2009-09-30
04:28
Change a couple of comments to use "SQLITE_MUTEX_OMIT" instead of OMIT_MUTEX. file: [828a40bc] check-in: [b733e939] user: dan branch: trunk, size: 4104
2009-09-10
22:30
Omit the mutexIsInit test variable when mutexes are disabled. file: [525d60fc] check-in: [3ea10434] user: drh branch: trunk, size: 4104
17:45
Add assert() statement to verify that new mutexes are not allocated when the mutex subsystem is uninitialized. file: [60cd6d85] check-in: [1183c533] user: drh branch: trunk, size: 4067
2009-07-16
18:21
Code simplifications and comment improvements in support of structural coverage testing. (CVS 6899) file: [73899d15] check-in: [94525179] user: drh branch: trunk, size: 3615
2009-02-17
16:29
Allow sqlite3_shutdown() to be called by a process before sqlite3_initialize() is. Prior to this commit such a call could segfault. (CVS 6296) file: [5e2ea0e0] check-in: [79431c58] user: danielk1977 branch: trunk, size: 4171
2008-10-07
15:25
Remove the SQLITE_MUTEX_APPDEF compile-time option. The SQLITE_THREADSAFE=0 option always removes all mutex code. For application-defined mutexes only, use SQLITE_THREADSAFE=1 with SQLITE_MUTEX_NOOP=1. Ticket #3421. (CVS 5779) file: [e9cb5fbe] check-in: [02a12eb1] user: drh branch: trunk, size: 4112
2008-09-01
18:34
Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) file: [81174f60] check-in: [573d92ab] user: danielk1977 branch: trunk, size: 7715
2008-06-19
08:51
Shuffle some of the mutex related documentation in sqlite.h.in to match the new sqlite3_mutex_methods based API. (CVS 5244) file: [a485a0ea] check-in: [9cd7f866] user: danielk1977 branch: trunk, size: 7601
2008-06-18
18:57
Remove public APIs sqlite3_mutex_init() and sqlite3_mutex_end(). This commit only changes the code, documentation is not updated yet. (CVS 5238) file: [67393ac4] check-in: [42a2a8f4] user: danielk1977 branch: trunk, size: 7601
18:08
Add a call to sqlite3_initialize() to sqlite3_mutex_alloc() (CVS 5236) file: [8d8f3cdd] check-in: [8b23b719] user: danielk1977 branch: trunk, size: 7607
17:09
Implement the 'CONFIG_SINGLETHREAD' and 'CONFIG_MULTITHREAD' configuration modes. (CVS 5234) file: [bcd07a29] check-in: [5059644c] user: danielk1977 branch: trunk, size: 7532
09:45
Add some test infrastructure and cases for the new mutex api. (CVS 5230) file: [890b83cc] check-in: [262baee9] user: danielk1977 branch: trunk, size: 7272
2008-06-17
18:57
Add the SQLITE_CONFIG_MUTEX symbol for use with sqlite3_config(). (CVS 5228) file: [d367b079] check-in: [af1835bb] user: danielk1977 branch: trunk, size: 7282
17:21
Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227) file: [cbdaeeed] check-in: [59728363] user: danielk1977 branch: trunk, size: 6642
2008-06-15
02:51
Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) file: [20f6ec9e] check-in: [65fe7b62] user: drh branch: trunk, size: 4003
2008-06-14
16:56
Continuing progress on the new memory allocation subsystem. Added the sqlite3_mem_methods structure for defining new memory allocators at run-time. (CVS 5219) file: [639881f6] check-in: [f00305f4] user: drh branch: trunk, size: 4004
2008-06-13
18:24
Progress toward implementation of sqlite3_config() and a rework of the mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218) file: [1ff43a9f] check-in: [a03c5af1] user: drh branch: trunk, size: 3984
2008-03-26
18:34
Changes to delay freeing buffers associated with vdbe memory cells until either sqlite3_finalize() or sqlite3_release_memory() is called. (CVS 4922) file: [d455f087] check-in: [8c2f6952] user: danielk1977 branch: trunk, size: 3834
2007-09-10
16:13
Fix a problem in the noop-mutexes used for testing. (CVS 4420) file: [3259f62c] check-in: [4dbeb915] user: danielk1977 branch: trunk, size: 3834
2007-08-28
16:34
Break up the mutex implementation into separate source files, one each for unix, w32, and os2. (CVS 4312) file: [40e5ba09] check-in: [fc5cd71a] user: drh branch: trunk, size: 3826
2007-08-27
17:27
Modify sqlite3_release_memory() to use a global LRU list of pages. Untested. (CVS 4301) file: [adbad5e1] check-in: [5626ce0b] user: danielk1977 branch: trunk, size: 19336
2007-08-25
16:31
Create a fresh pthread_mutexattr_t every time a recursive mutex is allocated. Ticket #2588. (CVS 4300) file: [438d59f4] check-in: [3d746343] user: drh branch: trunk, size: 19259
16:21
Documentation and comment updates in sqlite.h.in and mutex.c. (CVS 4299) file: [676c77a9] check-in: [7289079d] user: drh branch: trunk, size: 19478
14:39
Use recursive mutexes in pthreads. If the pthreads implementation does not support recursive mutexes, then you cannot compile SQLite with SQLITE_THREADSAFE=1. Ticket #2588. (CVS 4297) file: [81e4c573] check-in: [1668284d] user: drh branch: trunk, size: 17755
03:59
Bug fix in the implementation of recursive mutexes using non-recursive pthreads mutexes. Ticket #2588. (CVS 4292) file: [2337e310] check-in: [7d24c3a5] user: drh branch: trunk, size: 17159
2007-08-24
20:46
New mutex implementation for both Unix and windows. (CVS 4291) file: [81ca843f] check-in: [e144b81f] user: drh branch: trunk, size: 17158
2007-08-22
02:56
A complete run of quick.test with mutex debugging enabled. (CVS 4266) file: [9cf641f5] check-in: [783e07d5] user: drh branch: trunk, size: 13356
00:39
Reenable the memory management logic. The quick.test script now runs with SQLITE_MEMDEBUG and SQLITE_ENABLE_MEMORY_MANAGEMENT. 7 minor errors. (CVS 4265) file: [839c4226] check-in: [1914044b] user: drh branch: trunk, size: 13411
2007-08-21
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) file: [56bd9127] check-in: [fbbd5bda] user: drh branch: trunk, size: 13181
2007-08-20
22:48
Work toward multithreading support. Currently crashes quickly on a test. (CVS 4253) file: [60051a86] check-in: [1315bd8e] user: drh branch: trunk, size: 10357
2007-08-17
01:14
Begin adding mutexes. Compiles without SQLITE_OMIT_SHARED_CACHE but we get an assertion fault on the shared cache testing. (CVS 4239) file: [67b2efd3] check-in: [4c1e9ffe] user: drh branch: trunk, size: 9870
2007-08-16
19:40
Change the design of the mutex interface to allow for both "fast" and "recursive" mutexes. (CVS 4238) file: [679d5d9c] check-in: [160593dc] user: drh branch: trunk, size: 9830
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [b4f963eb] check-in: [77b16713] user: danielk1977 branch: trunk, size: 7834
2007-08-15
13:04
Add initial implementations of mutex and memory subsystem modules. (CVS 4226) file: [667dae0d] check-in: [c0fa3769] user: drh branch: trunk, size: 7806 Added