Lines Matching refs:db

57 static void checkListProperties(sqlite3 *db){  in checkListProperties()  argument
70 assert( db==0 || p->pUnlockConnection!=db ); in checkListProperties()
71 assert( db==0 || p->pBlockingConnection!=db ); in checkListProperties()
83 static void removeFromBlockedList(sqlite3 *db){ in removeFromBlockedList() argument
87 if( *pp==db ){ in removeFromBlockedList()
98 static void addToBlockedList(sqlite3 *db){ in addToBlockedList() argument
103 *pp && (*pp)->xUnlockNotify!=db->xUnlockNotify; in addToBlockedList()
106 db->pNextBlocked = *pp; in addToBlockedList()
107 *pp = db; in addToBlockedList()
149 sqlite3 *db, in sqlite3_unlock_notify() argument
155 sqlite3_mutex_enter(db->mutex); in sqlite3_unlock_notify()
159 removeFromBlockedList(db); in sqlite3_unlock_notify()
160 db->pBlockingConnection = 0; in sqlite3_unlock_notify()
161 db->pUnlockConnection = 0; in sqlite3_unlock_notify()
162 db->xUnlockNotify = 0; in sqlite3_unlock_notify()
163 db->pUnlockArg = 0; in sqlite3_unlock_notify()
164 }else if( 0==db->pBlockingConnection ){ in sqlite3_unlock_notify()
173 for(p=db->pBlockingConnection; p && p!=db; p=p->pUnlockConnection){} in sqlite3_unlock_notify()
177 db->pUnlockConnection = db->pBlockingConnection; in sqlite3_unlock_notify()
178 db->xUnlockNotify = xNotify; in sqlite3_unlock_notify()
179 db->pUnlockArg = pArg; in sqlite3_unlock_notify()
180 removeFromBlockedList(db); in sqlite3_unlock_notify()
181 addToBlockedList(db); in sqlite3_unlock_notify()
186 assert( !db->mallocFailed ); in sqlite3_unlock_notify()
187 sqlite3ErrorWithMsg(db, rc, (rc?"database is deadlocked":0)); in sqlite3_unlock_notify()
188 sqlite3_mutex_leave(db->mutex); in sqlite3_unlock_notify()
198 void sqlite3ConnectionBlocked(sqlite3 *db, sqlite3 *pBlocker){ in sqlite3ConnectionBlocked() argument
200 if( db->pBlockingConnection==0 && db->pUnlockConnection==0 ){ in sqlite3ConnectionBlocked()
201 addToBlockedList(db); in sqlite3ConnectionBlocked()
203 db->pBlockingConnection = pBlocker; in sqlite3ConnectionBlocked()
226 void sqlite3ConnectionUnlocked(sqlite3 *db){ in sqlite3ConnectionUnlocked() argument
242 if( p->pBlockingConnection==db ){ in sqlite3ConnectionUnlocked()
247 if( p->pUnlockConnection==db ){ in sqlite3ConnectionUnlocked()
325 void sqlite3ConnectionClosed(sqlite3 *db){ in sqlite3ConnectionClosed() argument
326 sqlite3ConnectionUnlocked(db); in sqlite3ConnectionClosed()
328 removeFromBlockedList(db); in sqlite3ConnectionClosed()
329 checkListProperties(db); in sqlite3ConnectionClosed()