LockFile() and UnlockFile() are working

Paul McNett p at ulmcnett.com
Fri Mar 21 22:37:31 CST 2003


On Friday 21 March 2003 05:52 pm, Alexandre Julliard wrote:

> Yes, the problem is that the smbfs Linux filesystem doesn't propagate
> locks. So you have to make sure that Wine is accessing the files
> through NFS, not through smbfs. As long as the server is a Linux
> machine this shouldn't be a problem.

Ok I'm seeing better success with my new test, having the files on 
Linux/Samba and having mixed Windows and local Linux/Wine clients (Linux 
client is accessing local file directly).

However, it still isn't working 100%, or perhaps we've unearthed a new 
problem.  Visual FoxPro's RLOCK() function is supposed to return TRUE if we 
are able to get a lock on the record (a block of the database file) and 
FALSE if not.  Well, RLOCK() is still returning TRUE even if the other 
client already supposedly has the lock.  This is the same behavior as 
before the recent implementation of LockFile() in Wine.

What is different, is that that once the second client (the one that never 
should have had RLOCK() return TRUE in the first place) tries to commit a 
change to the record, an Error Writing To File occurs.  In normal operation 
on Windows, Error Writing To File rarely occurs, and definitely should 
never have occurred because we never should have gotten to the point where 
we were trying to write to a record that we never should have had the lock 
on.

So... my question to those that understand this stuff much better than I 
do... what is still missing?  Is it ReadFile() that was mentioned by John 
K. Hohm earlier?


-- 
Paul McNett - p at ulmcnett.com
Hollister, California, USA



More information about the wine-devel mailing list