/ File History
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

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

History of src/mutex_unix.c

2019-02-08
20:55
Use a fast compiler-provided memory barrier exclusively, if such a memory barrier is available. file: [38abc2b7] check-in: [df66fec9] user: drh branch: faster-memory-barrier, size: 12694
2018-02-17
07:38
Fix a data race causing a tsan complaint with SQLITE_ENABLE_API_ARMOR builds on unix. The race condition is not dangerous in practice, it just upsets tsan. file: [aaf9ebc3] check-in: [f53b8a57] user: dan branch: trunk, size: 12650
2017-08-27
10:55
Instrumentation and changes in an effort to reduce thread contention. file: [78d1d635] check-in: [c93298d5] user: drh branch: reduced-thread-contention, size: 12703
2017-02-14
23:58
Experimental enhancements to mutex debugging. file: [68ced9b5] check-in: [80481754] user: mistachkin branch: mutexDbg2, size: 13003
2016-08-04
14:08
Add extra logging calls to this branch. file: [543aab0a] check-in: [491f1ef3] user: dan branch: debug, size: 11959
2016-07-30
03:33
A new version of the slow mutex log that uses gettimeofday() instead of trying to access the hardware timer. file: [5cbf63bc] check-in: [92b9fead] user: drh branch: debug, size: 12169
2016-07-29
14:31
Enhance a debugging log message to better identify a mutex. file: [3a24b5f2] check-in: [e60cb6d8] user: dan branch: debug, size: 12031
14:10
Add calls to sqlite3_log() when sqlite3_mutex_enter() takes more than 100,000 CPU cycles. file: [9af77da8] check-in: [33c7ef7a] user: drh branch: debug, size: 11839
2015-12-23
16:42
Fix some harmless gcc compiler warnings. Mostly in fts5, but also two in the core code. file: [27bb6cc4] check-in: [5d44d4a6] user: dan branch: trunk, size: 12373
2015-11-21
17:27
Fix over-length source code lines. No logic changes. file: [fc54f25b] check-in: [198d191b] user: drh branch: trunk, size: 12267
2015-10-15
21:12
Merge updates from trunk. file: [77d84839] check-in: [a447cf90] user: mistachkin branch: mutexInitSimpleCmpSwap, size: 13191
2015-09-26
03:23
Expand the header comment to clarify the purpose for the sqlite3MemoryBarrier() function. file: [a94b46f3] check-in: [b89495ae] user: drh branch: trunk, size: 12273
2015-09-12
18:57
Import common changes from the mutex initialization branch. file: [8cfa6e83] check-in: [334720c0] user: mistachkin branch: trunk, size: 12164
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: [a72043f2] check-in: [f6a8f577] user: mistachkin branch: mutexInitCmpSwap, size: 13082
2015-09-06
10:31
Improved memory barrier that should work with MinGW on older versions of Windows. file: [7762c8ec] check-in: [47dc24bd] user: drh branch: trunk, size: 12140
02:51
Add a memory barrier to the mutex initialization logic, try to work around an issue reported by WebKit. file: [c3f415eb] check-in: [11a9a786] user: drh branch: trunk, size: 12139
2015-07-03
21:38
Add static mutexes for use by the built-in / third-party VFSs and use the built-in VFS mutex where appropriate. file: [b0d28008] check-in: [b202e2a1] user: mistachkin branch: trunk, size: 11905
2015-02-13
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. file: [5cf67646] check-in: [823ad40c] user: drh branch: trunk, size: 11710
2014-10-24
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. file: [551e2f25] check-in: [c297a84b] user: drh branch: api-armor, size: 11587
2014-08-15
22:37
Aborted merge. file: [837e3d96] check-in: [c8ade949] user: numist branch: obsolete, size: 11389
2014-05-09
11:15
Add new static mutex SQLITE_MUTEX_STATIC_APP3. file: [1b10d541] check-in: [ee0ab09c] user: dan branch: threads, size: 11511
2014-05-03
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. file: [56e22c1b] check-in: [13686035] user: drh branch: threads, size: 11446
2012-01-04
12:57
Fix typos and comments and make minor changes to a few function names, as suggested by readership. file: [c3a4e00f] check-in: [e9d05cbb] user: drh branch: trunk, size: 11316
2011-01-26
07:25
Update mutex1.test so that it works with the memsubsys1 permutation (pagecache memory). Change a few instances of SQLITE_MUTEX_STATIC_LRU2 in comments and test code to STATIC_PMEM. file: [b4f4e923] check-in: [456bd5c6] user: dan branch: trunk, size: 11315
2010-08-10
07:12
Changes to debugging code in mutex_unix.c and mutex_w32.c to make an assert() statement threadsafe. file: [abb8c98a] check-in: [e82e32bd] user: dan branch: trunk, size: 11315
2010-06-02
05:53
Add some 'const' markers to static data that is really constant. file: [cf84466b] check-in: [e7073e23] user: dan branch: trunk, size: 11244
2010-05-13
20:19
Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. file: [becb8c4e] check-in: [e823c60c] user: drh branch: trunk, size: 11232
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [04a25238] check-in: [f6c045f6] user: drh branch: trunk, size: 10702
2009-08-17
15:31
More documentation and comment updates for sqlite3_initialize/shutdown interface changes to handle failures. file: [aff26c77] check-in: [32509bc7] user: shane branch: trunk, size: 10763
2008-12-08
18:19
The amalgamation now compiles cleanly on GCC with options -pedantic-errors -Wno-long-long. (CVS 5991) file: [2f936339] check-in: [73c7302c] user: drh branch: trunk, size: 10731
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) file: [3b1c895a] check-in: [8009220c] user: danielk1977 branch: trunk, size: 10720
08:05
Added support for vxworks >= 6.4; RTP mode tested, kernel mode untested. (CVS 5910) file: [0c256ff1] check-in: [f45a1493] user: chw branch: trunk, size: 10734
2008-07-16
12:33
Fix a bug in the HOMEGROWN_RECURSIVE_MUTEX implementation for unix. Ticket #3224. (CVS 5420) file: [29049a61] check-in: [9af2514c] user: drh branch: trunk, size: 10703
2008-06-19
16:07
Fix some minor compile problems. (CVS 5248) file: [c1526811] check-in: [7d38da3e] user: drh branch: trunk, size: 10700
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: [630a3860] check-in: [9cd7f866] user: danielk1977 branch: trunk, size: 10682
2008-06-18
09:45
Add some test infrastructure and cases for the new mutex api. (CVS 5230) file: [469a35c1] check-in: [262baee9] user: danielk1977 branch: trunk, size: 10682
2008-06-17
17:21
Change the mutex interface to be pluggable. This is an incremental checkin, there are still changes to come. (CVS 5227) file: [74a67559] check-in: [59728363] user: danielk1977 branch: trunk, size: 10683
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: [28588d08] check-in: [a03c5af1] user: drh branch: trunk, size: 10424
2008-03-29
12:47
eliminate compile-time warnings related to missing field initializations (CVS 4936) file: [466d2037] check-in: [d6a34d98] user: rse branch: trunk, size: 10230
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: [c5427552] check-in: [8c2f6952] user: danielk1977 branch: trunk, size: 10065
2007-11-28
14:04
Reorganize the code for the homegrown recursive mutexes. Fix a place in the previous check-in where the #ifdef label was incorrect. Ticket #2804. (CVS 4576) file: [a6e11194] check-in: [542e11f9] user: drh branch: trunk, size: 10021
13:55
Clarify the conditions under which homegrown recursive mutexes work (they require a coherent cache) and only enable them if there is an explicit #define so as to avoid accidental use on platforms that do not meet the constraints. Ticket #2805. (CVS 4575) file: [94da6981] check-in: [80299eeb] user: drh branch: trunk, size: 10015
00:51
Add an implementation of recursive mutexes for unix systems that lack pthreads recursive mutexes (ex: Solaris 2.6). Modern unix systems continue to use the recursive mutexes provided by pthreads. (CVS 4573) file: [69e996b7] check-in: [f366a776] user: drh branch: trunk, size: 9549
2007-08-28
22:24
Clean up the locking in the btree logic. (CVS 4316) file: [ff776502] check-in: [967ab229] user: drh branch: trunk, size: 7624
16:34
Break up the mutex implementation into separate source files, one each for unix, w32, and os2. (CVS 4312) file: [84ae0344] check-in: [fc5cd71a] user: drh branch: trunk, size: 7171 Added