xref: /netbsd-src/external/public-domain/sqlite/man/SQLITE_MUTEX_FAST.3 (revision b9988867a8ad969c45a52aa7628bc932ec98d46b)
1.Dd January 24, 2024
2.Dt SQLITE_MUTEX_FAST 3
3.Os
4.Sh NAME
5.Nm SQLITE_MUTEX_FAST ,
6.Nm SQLITE_MUTEX_RECURSIVE ,
7.Nm SQLITE_MUTEX_STATIC_MAIN ,
8.Nm SQLITE_MUTEX_STATIC_MEM ,
9.Nm SQLITE_MUTEX_STATIC_MEM2 ,
10.Nm SQLITE_MUTEX_STATIC_OPEN ,
11.Nm SQLITE_MUTEX_STATIC_PRNG ,
12.Nm SQLITE_MUTEX_STATIC_LRU ,
13.Nm SQLITE_MUTEX_STATIC_LRU2 ,
14.Nm SQLITE_MUTEX_STATIC_PMEM ,
15.Nm SQLITE_MUTEX_STATIC_APP1 ,
16.Nm SQLITE_MUTEX_STATIC_APP2 ,
17.Nm SQLITE_MUTEX_STATIC_APP3 ,
18.Nm SQLITE_MUTEX_STATIC_VFS1 ,
19.Nm SQLITE_MUTEX_STATIC_VFS2 ,
20.Nm SQLITE_MUTEX_STATIC_VFS3
21.Nd mutex types
22.Sh SYNOPSIS
23.In sqlite3.h
24.Fd #define SQLITE_MUTEX_FAST
25.Fd #define SQLITE_MUTEX_RECURSIVE
26.Fd #define SQLITE_MUTEX_STATIC_MAIN
27.Fd #define SQLITE_MUTEX_STATIC_MEM
28.Fd #define SQLITE_MUTEX_STATIC_MEM2
29.Fd #define SQLITE_MUTEX_STATIC_OPEN
30.Fd #define SQLITE_MUTEX_STATIC_PRNG
31.Fd #define SQLITE_MUTEX_STATIC_LRU
32.Fd #define SQLITE_MUTEX_STATIC_LRU2
33.Fd #define SQLITE_MUTEX_STATIC_PMEM
34.Fd #define SQLITE_MUTEX_STATIC_APP1
35.Fd #define SQLITE_MUTEX_STATIC_APP2
36.Fd #define SQLITE_MUTEX_STATIC_APP3
37.Fd #define SQLITE_MUTEX_STATIC_VFS1
38.Fd #define SQLITE_MUTEX_STATIC_VFS2
39.Fd #define SQLITE_MUTEX_STATIC_VFS3
40.Sh DESCRIPTION
41The
42.Fn sqlite3_mutex_alloc
43interface takes a single argument which is one of these integer constants.
44.Pp
45The set of static mutexes may change from one SQLite release to the
46next.
47Applications that override the built-in mutex logic must be prepared
48to accommodate additional static mutexes.
49.Sh IMPLEMENTATION NOTES
50These declarations were extracted from the
51interface documentation at line 8178.
52.Bd -literal
53#define SQLITE_MUTEX_FAST             0
54#define SQLITE_MUTEX_RECURSIVE        1
55#define SQLITE_MUTEX_STATIC_MAIN      2
56#define SQLITE_MUTEX_STATIC_MEM       3  /* sqlite3_malloc() */
57#define SQLITE_MUTEX_STATIC_MEM2      4  /* NOT USED */
58#define SQLITE_MUTEX_STATIC_OPEN      4  /* sqlite3BtreeOpen() */
59#define SQLITE_MUTEX_STATIC_PRNG      5  /* sqlite3_randomness() */
60#define SQLITE_MUTEX_STATIC_LRU       6  /* lru page list */
61#define SQLITE_MUTEX_STATIC_LRU2      7  /* NOT USED */
62#define SQLITE_MUTEX_STATIC_PMEM      7  /* sqlite3PageMalloc() */
63#define SQLITE_MUTEX_STATIC_APP1      8  /* For use by application */
64#define SQLITE_MUTEX_STATIC_APP2      9  /* For use by application */
65#define SQLITE_MUTEX_STATIC_APP3     10  /* For use by application */
66#define SQLITE_MUTEX_STATIC_VFS1     11  /* For use by built-in VFS */
67#define SQLITE_MUTEX_STATIC_VFS2     12  /* For use by extension VFS */
68#define SQLITE_MUTEX_STATIC_VFS3     13  /* For use by application VFS */
69.Ed
70.Sh SEE ALSO
71.Xr sqlite3_mutex_alloc 3
72