Clipper locking

Elvis Pfutzenreuter epx at
Tue Jun 13 20:32:10 GMT 2000

> Does this work correctly if the server is an NT box?

Some people reported that it behaves correctly. I didn't try by myself.

> Clipper goes way back.  It was, if I recall correctly, a compiler for dBase
> programs.  Now, it's been about 15 years since I last used dBase.  I
> believe, however, that they used a cooperative locking scheme.  That is, if
> process 1 set a lock, process 2 had to check the lock before using the data
> or corruption would result.

I have made some tests with samba logging level = 3 and strace. The locking 
mechanism is working correctly i.e. when someone has a lock over a record, 
the other client waits until the first releases the lock.

The problem seems to be related with Windows client caching. Clipper says 
"Corruption detected". It detects corruption by comparing the true record 
contents and the index contents (that are a function of one or more record 
fields). Windows is keeping one of them in cache. 

I have tried 'mount -o mand', SGID-bit on to order mandatory locking, and 
nothing changed. So Windows or Samba is caching something when it shouldn't.

More information about the samba-technical mailing list