/ All files named "src/mutex.c"
Login

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

History for src/mutex.c

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