/ Check-in [186b376e]
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.

Overview
Comment:Merge latest mutexfree-shmlock changes into this branch.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | begin-concurrent-pnu-mutexfree-shmlock
Files: files | file ages | folders
SHA3-256: 186b376ec3713f9c8a1499a9675b3c1b42ef3a123848506a48d3a196ba6461f3
User & Date: dan 2018-12-10 16:53:32
Context
2018-12-10
16:53
Merge latest mutexfree-shmlock changes into this branch. Leaf check-in: 186b376e user: dan tags: begin-concurrent-pnu-mutexfree-shmlock
16:52
Make SQLITE_MFS_NSHARD a compile time setting. check-in: b9a74151 user: dan tags: mutexfree-shmlock
15:58
Merge the latest version of mutexfree-shmlock with this branch. check-in: 6007abfe user: dan tags: begin-concurrent-pnu-mutexfree-shmlock
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/os_unix.c.

44
45
46
47
48
49
50


51

52


53
54
55
56
57
58
59
**      plus implementations of sqlite3_os_init() and sqlite3_os_end().
*/
#include "sqliteInt.h"
#if SQLITE_OS_UNIX              /* This file is used on unix only */

/* Turn this feature on in all builds for now */
#define SQLITE_MUTEXFREE_SHMLOCK 1


#define SQLITE_MFS_NSHARD        5

#define SQLITE_MFS_EXCLUSIVE     255



/*
** There are various methods for file locking used for concurrency
** control:
**
**   1. POSIX locking (the default),
**   2. No locking,







>
>
|
>
|
>
>







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
**      plus implementations of sqlite3_os_init() and sqlite3_os_end().
*/
#include "sqliteInt.h"
#if SQLITE_OS_UNIX              /* This file is used on unix only */

/* Turn this feature on in all builds for now */
#define SQLITE_MUTEXFREE_SHMLOCK 1
#define SQLITE_MFS_EXCLUSIVE     255
#ifndef SQLITE_MFS_NSHARD
# define SQLITE_MFS_NSHARD       8
#endif
#if SQLITE_MFS_NSHARD<1
# error "SQLITE_MFS_NSHARD must be greater than 0"
#endif

/*
** There are various methods for file locking used for concurrency
** control:
**
**   1. POSIX locking (the default),
**   2. No locking,