aboutsummaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2007-03-29 20:19:58 +0000
committerdrh <drh@noemail.net>2007-03-29 20:19:58 +0000
commite2396a10902c3de388c084ebc5728078f24c36d9 (patch)
tree09acb60e51663e97e6f24d154db5f5ca236380aa /src/os_unix.c
parent19c9e5694c586f3bfaf9ca1aaefb3f874f8d8883 (diff)
downloadsqlite-e2396a10902c3de388c084ebc5728078f24c36d9.tar.gz
sqlite-e2396a10902c3de388c084ebc5728078f24c36d9.zip
Assume any return code from fcntl() other than -1 is success. Formerly we
only assumed that 0 was success. Ticket #2173. (CVS 3754) FossilOrigin-Name: 8d0073c0e8408558dae39f789ac3fa2622b52365
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index fc759d801..19eb99fec 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -457,7 +457,7 @@ static int lockTrace(int fd, int op, struct flock *p){
sqlite3DebugPrintf("fcntl %d %d %s %s %d %d %d %d\n",
threadid, fd, zOpName, zType, (int)p->l_start, (int)p->l_len,
(int)p->l_pid, s);
- if( s && op==F_SETLK && (p->l_type==F_RDLCK || p->l_type==F_WRLCK) ){
+ if( s==(-1) && op==F_SETLK && (p->l_type==F_RDLCK || p->l_type==F_WRLCK) ){
struct flock l2;
l2 = *p;
fcntl(fd, F_GETLK, &l2);
@@ -1484,7 +1484,7 @@ static int unixLock(OsFile *id, int locktype){
lock.l_type = (locktype==SHARED_LOCK?F_RDLCK:F_WRLCK);
lock.l_start = PENDING_BYTE;
s = fcntl(pFile->h, F_SETLK, &lock);
- if( s ){
+ if( s==(-1) ){
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
goto end_lock;
}
@@ -1511,7 +1511,7 @@ static int unixLock(OsFile *id, int locktype){
rc = SQLITE_IOERR_UNLOCK; /* This should never happen */
goto end_lock;
}
- if( s ){
+ if( s==(-1) ){
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
}else{
pFile->locktype = SHARED_LOCK;
@@ -1541,7 +1541,7 @@ static int unixLock(OsFile *id, int locktype){
assert(0);
}
s = fcntl(pFile->h, F_SETLK, &lock);
- if( s ){
+ if( s==(-1) ){
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
}
}
@@ -1595,7 +1595,7 @@ static int unixUnlock(OsFile *id, int locktype){
lock.l_whence = SEEK_SET;
lock.l_start = SHARED_FIRST;
lock.l_len = SHARED_SIZE;
- if( fcntl(pFile->h, F_SETLK, &lock)!=0 ){
+ if( fcntl(pFile->h, F_SETLK, &lock)==(-1) ){
/* This should never happen */
rc = SQLITE_IOERR_RDLOCK;
}
@@ -1604,7 +1604,7 @@ static int unixUnlock(OsFile *id, int locktype){
lock.l_whence = SEEK_SET;
lock.l_start = PENDING_BYTE;
lock.l_len = 2L; assert( PENDING_BYTE+1==RESERVED_BYTE );
- if( fcntl(pFile->h, F_SETLK, &lock)==0 ){
+ if( fcntl(pFile->h, F_SETLK, &lock)!=(-1) ){
pLock->locktype = SHARED_LOCK;
}else{
rc = SQLITE_IOERR_UNLOCK; /* This should never happen */
@@ -1622,7 +1622,7 @@ static int unixUnlock(OsFile *id, int locktype){
lock.l_type = F_UNLCK;
lock.l_whence = SEEK_SET;
lock.l_start = lock.l_len = 0L;
- if( fcntl(pFile->h, F_SETLK, &lock)==0 ){
+ if( fcntl(pFile->h, F_SETLK, &lock)!=(-1) ){
pLock->locktype = NO_LOCK;
}else{
rc = SQLITE_IOERR_UNLOCK; /* This should never happen */