Home | History | Annotate | Download | only in dist

Lines Matching refs:eFileLock

22991   unsigned char eFileLock;            /* The type of lock held on this fd */
23315 static const char *azFileLock(int eFileLock){
23316 switch( eFileLock ){
23721 int eFileLock; /* One of SHARED_LOCK, RESERVED_LOCK etc. */
23979 if( pFile->pInode->eFileLock>SHARED_LOCK ){
24010 ** Lock the file with the lock specified by parameter eFileLock - one
24033 static int unixLock(sqlite3_file *id, int eFileLock){
24081 azFileLock(eFileLock), azFileLock(pFile->eFileLock),
24082 azFileLock(pInode->eFileLock), pInode->nShared , getpid()));
24088 if( pFile->eFileLock>=eFileLock ){
24090 azFileLock(eFileLock)));
24099 assert( pFile->eFileLock!=NO_LOCK || eFileLock==SHARED_LOCK );
24100 assert( eFileLock!=PENDING_LOCK );
24101 assert( eFileLock!=RESERVED_LOCK || pFile->eFileLock==SHARED_LOCK );
24111 if( (pFile->eFileLock!=pInode->eFileLock &&
24112 (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK))
24122 if( eFileLock==SHARED_LOCK &&
24123 (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){
24124 assert( eFileLock==SHARED_LOCK );
24125 assert( pFile->eFileLock==0 );
24127 pFile->eFileLock = SHARED_LOCK;
24140 if( eFileLock==SHARED_LOCK
24141 || (eFileLock==EXCLUSIVE_LOCK && pFile->eFileLock<PENDING_LOCK)
24143 lock.l_type = (eFileLock==SHARED_LOCK?F_RDLCK:F_WRLCK);
24160 if( eFileLock==SHARED_LOCK ){
24162 assert( pInode->eFileLock==0 );
24191 pFile->eFileLock = SHARED_LOCK;
24195 }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){
24204 assert( 0!=pFile->eFileLock );
24206 switch( eFileLock ){
24235 && pFile->eFileLock<=SHARED_LOCK
24236 && eFileLock==RESERVED_LOCK
24246 pFile->eFileLock = eFileLock;
24247 pInode->eFileLock = eFileLock;
24248 }else if( eFileLock==EXCLUSIVE_LOCK ){
24249 pFile->eFileLock = PENDING_LOCK;
24250 pInode->eFileLock = PENDING_LOCK;
24255 OSTRACE(("LOCK %d %s %s (unix)\n", pFile->h, azFileLock(eFileLock),
24274 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
24286 static int _posixUnlock(sqlite3_file *id, int eFileLock, int handleNFSUnlock){
24295 OSTRACE(("UNLOCK %d %d was %d(%d,%d) pid=%d (unix)\n", pFile->h, eFileLock,
24296 pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared,
24299 assert( eFileLock<=SHARED_LOCK );
24300 if( pFile->eFileLock<=eFileLock ){
24307 if( pFile->eFileLock>SHARED_LOCK ){
24308 assert( pInode->eFileLock==pFile->eFileLock );
24339 if( eFileLock==SHARED_LOCK ){
24399 pInode->eFileLock = SHARED_LOCK;
24409 if( eFileLock==NO_LOCK ){
24423 pInode->eFileLock = NO_LOCK;
24430 pInode->eFileLock = NO_LOCK;
24431 pFile->eFileLock = NO_LOCK;
24451 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
24456 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
24462 static int unixUnlock(sqlite3_file *id, int eFileLock){
24463 return _posixUnlock(id, eFileLock, 0);
24628 if( pFile->eFileLock>SHARED_LOCK ){
24643 ** Lock the file with the lock specified by parameter eFileLock - one
24669 static int dotlockLock(sqlite3_file *id, int eFileLock) {
24679 if( pFile->eFileLock > NO_LOCK ){
24680 pFile->eFileLock = eFileLock;
24709 pFile->eFileLock = eFileLock;
24714 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
24722 static int dotlockUnlock(sqlite3_file *id, int eFileLock) {
24727 OSTRACE(("UNLOCK %d %d was %d pid=%d (dotlock)\n", pFile->h, eFileLock,
24728 pFile->eFileLock, getpid()));
24729 assert( eFileLock<=SHARED_LOCK );
24732 if( pFile->eFileLock==eFileLock ){
24739 if( eFileLock==SHARED_LOCK ){
24740 pFile->eFileLock = SHARED_LOCK;
24745 assert( eFileLock==NO_LOCK );
24757 pFile->eFileLock = NO_LOCK;
24824 if( pFile->eFileLock>SHARED_LOCK ){
24868 ** Lock the file with the lock specified by parameter eFileLock - one
24896 static int flockLock(sqlite3_file *id, int eFileLock) {
24904 if (pFile->eFileLock > NO_LOCK) {
24905 pFile->eFileLock = eFileLock;
24920 pFile->eFileLock = eFileLock;
24922 OSTRACE(("LOCK %d %s %s (flock)\n", pFile->h, azFileLock(eFileLock),
24934 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
24940 static int flockUnlock(sqlite3_file *id, int eFileLock) {
24944 OSTRACE(("UNLOCK %d %d was %d pid=%d (flock)\n", pFile->h, eFileLock,
24945 pFile->eFileLock, getpid()));
24946 assert( eFileLock<=SHARED_LOCK );
24949 if( pFile->eFileLock==eFileLock ){
24954 if (eFileLock==SHARED_LOCK) {
24955 pFile->eFileLock = eFileLock;
24975 pFile->eFileLock = NO_LOCK;
25023 if( pFile->eFileLock>SHARED_LOCK ){
25039 reserved = (pFile->eFileLock < SHARED_LOCK);
25053 ** Lock the file with the lock specified by parameter eFileLock - one
25081 static int semLock(sqlite3_file *id, int eFileLock) {
25089 if (pFile->eFileLock > NO_LOCK) {
25090 pFile->eFileLock = eFileLock;
25102 pFile->eFileLock = eFileLock;
25109 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
25115 static int semUnlock(sqlite3_file *id, int eFileLock) {
25121 OSTRACE(("UNLOCK %d %d was %d pid=%d (sem)\n", pFile->h, eFileLock,
25122 pFile->eFileLock, getpid()));
25123 assert( eFileLock<=SHARED_LOCK );
25126 if( pFile->eFileLock==eFileLock ){
25131 if (eFileLock==SHARED_LOCK) {
25132 pFile->eFileLock = eFileLock;
25145 pFile->eFileLock = NO_LOCK;
25273 if( pFile->pInode->eFileLock>SHARED_LOCK ){
25303 ** Lock the file with the lock specified by parameter eFileLock - one
25326 static int afpLock(sqlite3_file *id, int eFileLock){
25334 azFileLock(eFileLock), azFileLock(pFile->eFileLock),
25335 azFileLock(pInode->eFileLock), pInode->nShared , getpid()));
25341 if( pFile->eFileLock>=eFileLock ){
25343 azFileLock(eFileLock)));
25352 assert( pFile->eFileLock!=NO_LOCK || eFileLock==SHARED_LOCK );
25353 assert( eFileLock!=PENDING_LOCK );
25354 assert( eFileLock!=RESERVED_LOCK || pFile->eFileLock==SHARED_LOCK );
25364 if( (pFile->eFileLock!=pInode->eFileLock &&
25365 (pInode->eFileLock>=PENDING_LOCK || eFileLock>SHARED_LOCK))
25375 if( eFileLock==SHARED_LOCK &&
25376 (pInode->eFileLock==SHARED_LOCK || pInode->eFileLock==RESERVED_LOCK) ){
25377 assert( eFileLock==SHARED_LOCK );
25378 assert( pFile->eFileLock==0 );
25380 pFile->eFileLock = SHARED_LOCK;
25390 if( eFileLock==SHARED_LOCK
25391 || (eFileLock==EXCLUSIVE_LOCK && pFile->eFileLock<PENDING_LOCK)
25404 if( eFileLock==SHARED_LOCK ){
25409 assert( pInode->eFileLock==0 );
25434 pFile->eFileLock = SHARED_LOCK;
25438 }else if( eFileLock==EXCLUSIVE_LOCK && pInode->nShared>1 ){
25448 assert( 0!=pFile->eFileLock );
25449 if (eFileLock >= RESERVED_LOCK && pFile->eFileLock < RESERVED_LOCK) {
25456 if (!failed && eFileLock == EXCLUSIVE_LOCK) {
25487 pFile->eFileLock = eFileLock;
25488 pInode->eFileLock = eFileLock;
25489 }else if( eFileLock==EXCLUSIVE_LOCK ){
25490 pFile->eFileLock = PENDING_LOCK;
25491 pInode->eFileLock = PENDING_LOCK;
25496 OSTRACE(("LOCK %d %s %s (afp)\n", pFile->h, azFileLock(eFileLock),
25502 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
25508 static int afpUnlock(sqlite3_file *id, int eFileLock) {
25519 OSTRACE(("UNLOCK %d %d was %d(%d,%d) pid=%d (afp)\n", pFile->h, eFileLock,
25520 pFile->eFileLock, pFile->pInode->eFileLock, pFile->pInode->nShared,
25523 assert( eFileLock<=SHARED_LOCK );
25524 if( pFile->eFileLock<=eFileLock ){
25530 if( pFile->eFileLock>SHARED_LOCK ){
25531 assert( pInode->eFileLock==pFile->eFileLock );
25551 if( pFile->eFileLock==EXCLUSIVE_LOCK ){
25553 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1) ){
25561 if( rc==SQLITE_OK && pFile->eFileLock>=PENDING_LOCK ){
25564 if( rc==SQLITE_OK && pFile->eFileLock>=RESERVED_LOCK && context->reserved ){
25570 if( rc==SQLITE_OK && (eFileLock==SHARED_LOCK || pInode->nShared>1)){
25571 pInode->eFileLock = SHARED_LOCK;
25574 if( rc==SQLITE_OK && eFileLock==NO_LOCK ){
25590 pInode->eFileLock = NO_LOCK;
25591 pFile->eFileLock = NO_LOCK;
25604 if( rc==SQLITE_OK ) pFile->eFileLock = eFileLock;
25648 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
25654 static int nfsUnlock(sqlite3_file *id, int eFileLock){
25655 return _posixUnlock(id, eFileLock, 1);
26193 *(int*)pArg = ((unixFile*)id)->eFileLock;
28968 if( pFile->eFileLock!=NO_LOCK ){
29035 if( pFile->eFileLock!=NO_LOCK ){
29202 ** Lock the file with the lock specified by parameter eFileLock - one
29225 static int proxyLock(sqlite3_file *id, int eFileLock) {
29232 rc = proxy->pMethod->xLock((sqlite3_file*)proxy, eFileLock);
29233 pFile->eFileLock = proxy->eFileLock;
29243 ** Lower the locking level on file descriptor pFile to eFileLock. eFileLock
29249 static int proxyUnlock(sqlite3_file *id, int eFileLock) {
29256 rc = proxy->pMethod->xUnlock((sqlite3_file*)proxy, eFileLock);
29257 pFile->eFileLock = proxy->eFileLock;