SQlite源码分析

函数功能

下图是包含函数名,以及相应功能,顺序从上往下

编号 函数名 功能
1 static int pthreadMutexHeld(sqlite3_mutex *p) SQLITE_DEBUG模式下,用于assert()里面使用,主要调试查看变量,防止出BUG,前文说过使用互斥量非常谨慎,如此可见一斑
2 static int pthreadMutexNotheld(sqlite3_mutex *p) SQLITE_DEBUG模式下,用于assert()里面使用,主要调试查看变量,防止出BUG,前文说过使用互斥量非常谨慎,如此可见一斑
3 static int pthreadMutexInit(void) 初始化互斥锁变量
4 static int pthreadMutexEnd(void) 离开临界区
5 static sqlite3_mutex *pthreadMutexAlloc(int iType) 作用是分配6种之一互斥体,并返回指针,如果分配失败,返回相应错误
6 static void pthreadMutexFree(sqlite3_mutex *p) 销毁分配锁,释放内存
7 static void pthreadMutexEnter(sqlite3_mutex *p) 请求互斥锁,sqlite3_mutex_enter()导致阻塞,sqlite3_mutex_try()返回SQLITE_BUSY
8 static int pthreadMutexTry(sqlite3_mutex *p)
9 static void pthreadMutexLeave(sqlite3_mutex *p) 解锁互斥锁
10 sqlite3_mutex_methods const *sqlite3DefaultMutex(void) 返回默认互斥体函数 结构体