/ Check-in [b9a74151]
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:Make SQLITE_MFS_NSHARD a compile time setting.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | mutexfree-shmlock
Files: files | file ages | folders
SHA3-256: b9a741519055a8560ec1d0ab7d0c15ff8db53e740011825506cd2ede11c956f0
User & Date: dan 2018-12-10 16:52:31
Context
2018-12-24
15:15
Merge latest trunk with this branch. Leaf check-in: 606b1ead user: dan tags: mutexfree-shmlock
2018-12-18
19:46
Add the "mutexfree-shmlock" patch to this branch. check-in: c3191fc8 user: dan tags: begin-concurrent-pnu-wal2
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:51
Add extra tests to shmlock.test (direct testing of xShmLock methods). check-in: d2c785f9 user: dan tags: 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,