Lines Matching full:mutex
172 ** This interface only reports on the compile-time mutex setting
657 ** CAPI3REF: Mutex Handle
659 ** The mutex module within SQLite defines [sqlite3_mutex] to be an
660 ** abstract type for a mutex object. The SQLite core never looks
695 ** or modify this field while holding a particular static mutex.
874 ** as a mutex) it returns an [error code] other than [SQLITE_OK].
1030 ** SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes
1034 ** holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the
1201 ** alternative low-level mutex routines to be used in place
1202 ** the mutex routines built into SQLite.)^ ^SQLite makes a copy of the
1214 ** structure is filled with the currently defined mutex routines.)^
1215 ** This option can be used to overload the default mutex allocation
1216 ** routines with a wrapper used to track mutex usage for performance
2483 ** a mutex is held. A internal mutex is held for a protected
2484 ** sqlite3_value object but no mutex is held for an unprotected
2487 ** or if SQLite is run in one of reduced mutex modes
4618 ** of these mutex routines. An appropriate implementation
4636 ** macro defined (with "-DSQLITE_MUTEX_APPDEF=1"), then no mutex
4638 ** application must supply a custom mutex implementation using the
4644 ** mutex and returns a pointer to it. ^If it returns NULL
4645 ** that means that a mutex could not be allocated. ^SQLite
4662 ** a new mutex. ^The new mutex is recursive when SQLITE_MUTEX_RECURSIVE
4664 ** The mutex implementation does not need to make a distinction
4666 ** not want to. ^SQLite will only request a recursive mutex in
4667 ** cases where it really needs one. ^If a faster non-recursive mutex
4668 ** implementation is available on the host platform, the mutex subsystem
4669 ** might return such a mutex in response to SQLITE_MUTEX_FAST.
4673 ** a pointer to a static preexisting mutex. ^Six static mutexes are
4680 ** ^Note that if one of the dynamic mutex parameters (SQLITE_MUTEX_FAST
4682 ** returns a different mutex on every call. ^But for the static
4683 ** mutex types, the same mutex is returned on every call that has
4687 ** allocated dynamic mutex. ^SQLite is careful to deallocate every
4688 ** dynamic mutex that it allocates. The dynamic mutexes must not be in
4690 ** mutex results in undefined behavior. ^SQLite never deallocates
4691 ** a static mutex.
4694 ** to enter a mutex. ^If another thread is already within the mutex,
4700 ** mutex must be exited an equal number of times before another thread
4702 ** kind of mutex more than once, the behavior is undefined.
4711 ** ^The sqlite3_mutex_leave() routine exits a mutex that was
4713 ** is undefined if the mutex is not currently entered by the
4730 ** CAPI3REF: Mutex Methods Object
4736 ** Usually, the default mutex implementations provided by SQLite are
4743 ** output variable when querying the system for the current mutex
4754 ** resources obtained by the mutex methods implementation, especially
4774 ** of a valid mutex handle. The implementations of the methods defined
4776 ** of passing a NULL pointer instead of a valid mutex handle are undefined
4787 ** allocation for a static mutex. ^However xMutexAlloc() may use SQLite
4788 ** memory allocation for a fast or recursive mutex.
4809 ** CAPI3REF: Mutex Verification Routines
4816 ** with the SQLITE_DEBUG flag. ^External mutex implementations
4820 ** ^These routines should return true if the mutex in their argument
4830 ** clearly the mutex cannot be held if it does not exist. But the
4831 ** the reason the mutex does not exist is because the build is not
4843 ** CAPI3REF: Mutex Types
4849 ** next. Applications that override the built-in mutex logic must be
4863 ** CAPI3REF: Retrieve the mutex for a database connection
5204 ** ^SQLite holds a [SQLITE_MUTEX_RECURSIVE] mutex when it invokes
5490 ** backup is in progress might also also cause a mutex deadlock.