mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-05 15:55:57 +03:00
Do not use the return value of fcntl() to find the reason that it failed.
Use errno instead. Tickets #240 and #270. (CVS 938) FossilOrigin-Name: acf9e9802fa6396df5653ca4e72ab4ec2333509d
This commit is contained in:
6
src/os.c
6
src/os.c
@@ -1076,7 +1076,7 @@ int sqliteOsReadLock(OsFile *id){
|
||||
lock.l_start = lock.l_len = 0L;
|
||||
s = fcntl(id->fd, F_SETLK, &lock);
|
||||
if( s!=0 ){
|
||||
rc = (s==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
}else{
|
||||
rc = SQLITE_OK;
|
||||
id->pLock->cnt = 1;
|
||||
@@ -1172,7 +1172,7 @@ int sqliteOsWriteLock(OsFile *id){
|
||||
lock.l_start = lock.l_len = 0L;
|
||||
s = fcntl(id->fd, F_SETLK, &lock);
|
||||
if( s!=0 ){
|
||||
rc = (s==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
}else{
|
||||
rc = SQLITE_OK;
|
||||
id->pLock->cnt = -1;
|
||||
@@ -1279,7 +1279,7 @@ int sqliteOsUnlock(OsFile *id){
|
||||
lock.l_start = lock.l_len = 0L;
|
||||
s = fcntl(id->fd, F_SETLK, &lock);
|
||||
if( s!=0 ){
|
||||
rc = (s==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
rc = (errno==EINVAL) ? SQLITE_NOLFS : SQLITE_BUSY;
|
||||
}else{
|
||||
rc = SQLITE_OK;
|
||||
id->pLock->cnt = 0;
|
||||
|
Reference in New Issue
Block a user