[Allegro] Avanti Lock-Mechanismus
Roland Henkel
rhenkel at snafu.de
Sa Jun 23 09:48:36 CEST 2007
Liebe Liste,
wo gibt es detailierte und zusammenhängende Informationen über den
Lock-Mechanismus von Avanti?
Wenn ich richtig verstanden habe, gibt es nur den Zustand "gesperrt"
oder "nicht gesperrt", jedoch ist der Prozess, der die Sperrung gerade
gesperrt hat, nicht zu ermitteln. Oder doch?
Bezieht sich die Sperrung nur auf das schreiben, so dass eine andere
Anwendung den Satz derweil lesen kann? Oder ist der betreffende Satz
für andere Anwendungen zu diesem Zeitpunkt überhaupt nicht zugänglich?
Mit Hinsicht auf "erase" ist wohl das letztere der Fall.
Wie verhalten sich get edit/put und set lock/unlock zueinander?
Sind get edit ... put und get ... set lock ... put unlock äquivalent?
Kann man im Falle von get ... set lock ein put ausführen oder *muss* put
unlock verwendet werden? Sofern put möglich ist, bewirkt es die Freigabe
des Satzes oder muss noch ein set unlock folgen?
In der Doku (ich habe allerdings Version 25.9, möglicherweise ist das in
den neueren Versionen anders formuliert) von put unlock steht:
"Es wird gespeichert, auch wenn der Satz gesperrt ist".
Bei set unlock:
Statt mit "set unlock" kann man einen Satz auch mit put unlock
wieder freigeben, d.h. er wird dann geschrieben, obwohl er gesperrt ist.
Das heisst also, put unlock wirkt wie das put nach get edit. Wenn man
nur die set unlock-Doku liest, könnte das Mißverständnis entstehen, dass
der Satz nach dem Schreiben gesperrt bliebe.
Wie verhält sich update bei gesperrten Sätzen? Wird der betreffende Satz
ausgelassen oder das Update im Ganzen nicht ausgeführt?
Mit freundlichen Grüssen
R. Henkel
Mehr Informationen über die Mailingliste Allegro