Hi,

Background Info -
1. Using Linux kernel v2.4.21 on both machines.

2. Scenario in which this problem occurs - when I rlogin/rsh to another
machine and then run the app 
    calls to sqlite3_open() work successfully
    calls to sqlite3_exec() return 'database is locked' error message

3. This problem does not occur if I run the app on my local machine.
---------------------------------

I've debugged this issue and found that the problem lies with fcntl()
returning a failure (i.e. -1) which causes sqlite3 functions to return
"database is locked" error.

The fcntl() calls which return -1 are of this type -

fcntl64(5, F_SETLK64, {type=F_RDLCK, whence=SEEK_SET, start=1073741824,
len=1}, 0xbfffe4f0)


I think its safe to assume that the use of F_SETLK64 causes the fcntl()
fn to fail.  

Is there a solution to this without changing the NFS settings.  Maybe if
I modify the fcntl() calls in sqlite source code so that instead of
F_SETLK64 I pass some other command.  I've tried passing F_SETLKW64 but
that reproduces the problem again.

I also tried another option in os_unix.c file which sqlite uses for
DJGPP in which the fcntl() is re-defined as -

#define fcntl(A,B,C) 0

but this gives another error message related to OS not able support
large file formats.


Could you please suggest some other alternative(s) except for
reconfiguring NFS server - this is something we just can't do.  Thanks
for your help.


Regards,
Ritesh



On Mon, 2006-01-30 at 19:31, [EMAIL PROTECTED] wrote:
> Ritesh Kapoor <[EMAIL PROTECTED]> wrote:
> > Yes.
> > My machine has NFS and the machines I log onto also have NFS.  But if
> > this is the problem then why dosen't it appear on my machine when I run
> > the app.
> 
> Perhaps you are using a local filesystem when you run on 
> your machine.  Or perhaps NFS is configured properly on
> your machine but not on the other machines.
> 
> 
> > Is there a workaround for this? without having to change the file system
> > from NFS.
> > 
> 
> Yes.  Configure your NFS so that file locking works correctly.
> 
> --
> D. Richard Hipp   <[EMAIL PROTECTED]>
> 

Reply via email to