Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Strategy to allow to display locking user and station.
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00117311
Message ID:
00118438
Vues:
24
>>We needed to know who was using a particular record (or in some cases a subset of records), so we designed a semaphore table.
>
>Right! Semaphore table. Do I like the sound of that :). But it's too late, I called it Locks already.

Always pleased to sound good ;-)

> We call a 'GetSemaphore()' function to see if someone is using that record, and a 'PutSemaphore()' which stores the machine name, the user name (from our oUser object) and the record (or area) being 'locked'. We clear all semaphores when a user/machine combo logs on (in case their last exit was abnormal) and when they log off.
>
>It's interesting that you do not use the native rlock()/unlock at all then? Is there a particular reason for that, apart from going C/S, but then you would rely on DBMS's native "semaphore" management no?

Yes, basically what you suggested below: We don't want ANY locks that will stop another user from using an area of the program unless we can control them. We can't control locks left by abnormal exits, and we got a LOT of those during the first couple of months until they fixed the network.


>In our next version we (and I mean you and me) will be implementing the automatic sending of a polite message to the locking station I guess. The things we do to keep the customer satisfied...

Usually a not-so-polite message, shouted over the telephone or delivered in person by someone who has stomped the length of the building to vent at the 'bad' user.

>>Of course, we DO have a problem - one of the worst offenders about leaving their system running is Customer Service - and they run over PCAnywhere on a computer in the locked server room. When THEY are the culprits, everyone runs around searching for a supervisor with the key :-)
>>
>Wait a minute, you do rlock() the records then. Because if you don't why not tamper with the Semaphore table?

Nope, but we do a weekly maintenance - packing & reindexing, field updates and an updated EXE of required. Theoretically, it can all be done over the modem, with a little help from SDT. In practice, one of us almost always has to go in person - just long enough to shut down the Customer Service computer :-(((

And, sometimes CS will load a form that locks a record and not bother to close it. We'll probably put some work-arounds for this soon - maybe a timer linked to their logon.

>
>Probably missing something here. One gets used to the feeling with age. :)

MY age, not yours, dear. I didn't include the necessary information.

Barbara
Barbara Paltiel, Paltiel Inc.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform