>Exactly how does your semaphore technique work? How does it
>handle a person that opens a record and just leaves? How do
>you handle the user that opens a record and instead of exiting
>the program in the proper sequence just turns off his machine
>leaving that record open?
Because a semaphore does not represent a true locking, those situations will not represent a problem as long as we combine this with a timestamp and allow a certain time to update.