Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


SQLITE3_THREADSAFE(3)      Library Functions Manual      SQLITE3_THREADSAFE(3)

NAME
     sqlite3_threadsafe - test to see if the library is threadsafe

SYNOPSIS
     #include <sqlite3.h>

     int
     sqlite3_threadsafe(void);

DESCRIPTION
     The sqlite3_threadsafe() function returns zero if and only if SQLite was
     compiled with mutexing code omitted due to the SQLITE_THREADSAFE compile-
     time option being set to 0.

     SQLite can be compiled with or without mutexes.  When the
     SQLITE_THREADSAFE C preprocessor macro is 1 or 2, mutexes are enabled and
     SQLite is threadsafe.  When the SQLITE_THREADSAFE macro is 0, the mutexes
     are omitted.  Without the mutexes, it is not safe to use SQLite
     concurrently from more than one thread.

     Enabling mutexes incurs a measurable performance penalty.  So if speed is
     of utmost importance, it makes sense to disable the mutexes.  But for
     maximum safety, mutexes should be enabled.  The default behavior is for
     mutexes to be enabled.

     This interface can be used by an application to make sure that the
     version of SQLite that it is linking against was compiled with the
     desired setting of the SQLITE_THREADSAFE macro.

     This interface only reports on the compile-time mutex setting of the
     SQLITE_THREADSAFE flag.  If SQLite is compiled with SQLITE_THREADSAFE=1
     or =2 then mutexes are enabled by default but can be fully or partially
     disabled using a call to sqlite3_config() with the verbs
     SQLITE_CONFIG_SINGLETHREAD, SQLITE_CONFIG_MULTITHREAD, or
     SQLITE_CONFIG_SERIALIZED.  The return value of the sqlite3_threadsafe()
     function shows only the compile-time setting of thread safety, not any
     run-time changes to that setting made by sqlite3_config().  In other
     words, the return value from sqlite3_threadsafe() is unchanged by calls
     to sqlite3_config().

     See the threading mode documentation for additional information.

IMPLEMENTATION NOTES
     These declarations were extracted from the interface documentation at
     line 221.

     SQLITE_API int sqlite3_threadsafe(void);

SEE ALSO
     sqlite3_config(3), SQLITE_CONFIG_SINGLETHREAD(3)

NetBSD 10.99                    August 24, 2023                   NetBSD 10.99