I've tried testing this theory - by creating a table with a single field and then doing a hex dump of the file with and without a RLOCK - but the results indicate that neither the table header nor the extra byte in the record are used for locking purposes...
>>>>Does anyone know what VFP is doing at the OS level when an RLOCK is issued?
>>>>
>>>>I've been trying to find an answer to the question "Who has locked this record" in a multi-user NT based system so that I can monitor the locks.
>>>
>>>That may be a tough one to do in that way, you're looking more at SQL Server type of DB for that. However, I have done this sort of thing in vfp in a home-made way - when a user locks a record, you can write username and PK (and table if necessary) to a tracking-table on server, not difficult to do.
>>Bruce,
>>
>>Thanks - I've already implemented a tracking table method with a wrapper to RLOCK and UNLOCK - but I am still interested in finding out how the OS handles lock as it would potentially enable implicit and explicit locks to be monitored
>>
>>Cheers
>>
>>
>>Jon Nelson
>>
>
>As far as I know there is a bit in each record that indicates whether it is locked or not. As you know, with a record that contains e.g. 99 bytes of data, 100 bytes are used for the record. The extra byte is used for indicating whether it is deleted or not, and I think also for the lock status.
>
>You could check out the description of the file formats that comes with VFP (at least, with the development edition). Maybe it's in there.
>
>There's also a byte or bit in the table's header to indicate whether the table is locked (I think).
>
>Marc