Documentation Source Text

Check-in [fafb4edaa3]
Login

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

Overview
Comment:Clarify sqlite3_threadsafe() return in threadsafe.html.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: fafb4edaa391548a89552f8e3b4ebd8e126023fb8b4600550d19c1475fcc9ba9
User & Date: larrybr 2021-11-02 21:19:27
Context
2021-11-02
23:03
Bring CLI doc up to date, including new .archive options. (check-in: ce75cac3ba user: larrybr tags: trunk)
21:19
Clarify sqlite3_threadsafe() return in threadsafe.html. (check-in: fafb4edaa3 user: larrybr tags: trunk)
2021-11-01
21:09
Clarification of the meaning of STRICT. (check-in: d7050c6de3 user: drh tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/threadsafe.in.

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[SQLITE_THREADSAFE | -DSQLITE_THREADSAFE=0] the threading mode is
single-thread.  With
[SQLITE_THREADSAFE | -DSQLITE_THREADSAFE=2] the threading mode is
multi-thread.
</p>

<p>
The return value of the [sqlite3_threadsafe()] interface is determined
by the compile-time threading mode selection.  If single-thread mode
is selected at compile-time, then [sqlite3_threadsafe()] returns false.
If either the multi-thread or serialized modes are selected, then
[sqlite3_threadsafe()] returns true.  The [sqlite3_threadsafe()]
interface predates the multi-thread mode and start-time and run-time
mode selection and so is unable to distinguish
between multi-thread and serialized mode nor is it able to report start-time
or run-time mode changes.
</p>

<p>
If single-thread mode is selected at compile-time, then critical
mutexing logic is omitted from the build and it is impossible to
enable either multi-thread or serialized modes at start-time or
run-time.







|
<
|
<
|
|
<
<
<







48
49
50
51
52
53
54
55

56

57
58



59
60
61
62
63
64
65
[SQLITE_THREADSAFE | -DSQLITE_THREADSAFE=0] the threading mode is
single-thread.  With
[SQLITE_THREADSAFE | -DSQLITE_THREADSAFE=2] the threading mode is
multi-thread.
</p>

<p>
The return value of the [sqlite3_threadsafe()] interface is the value

of SQLITE_THREADSAFE set at compile-time. It does not reflect changes

to the threading mode made at runtime via the [sqlite3_config()]
interface or by flags given as the third argument to [sqlite3_open_v2()].



</p>

<p>
If single-thread mode is selected at compile-time, then critical
mutexing logic is omitted from the build and it is impossible to
enable either multi-thread or serialized modes at start-time or
run-time.