Kleine Programme zum Sperren, Entsperren und Beobachten der Satztabelle von allegro-C-Datenbanken.
· Locktbl · Freetbl · Testtbl · Viewtbl · Trigtbl · Traptbl ·
[Download] (ZIP-Format, 158kB)
[Download Source] (ZIP-Format, 4.9kB)
Die Satztabelle ist jeweils mit vollem Pfade und Namen (mit Extension)
anzugeben:
c:\allegro\demo\cat.tbl
oder
c:/allegro/demo/cat.tbl
Die Extrablockade-Parameter dienen dazu, starke Netzwerklast zu simulieren: Während der durch die Parameter in ihrer Länge eingestellten Intervalle wird die Satztabelle gegen andere Zugriffe gesperrt, ist also für andere Prozesse nicht einmal lesbar.
Alle Programme erzeugen ziemlich viel Output (nach STDERR):
Sperrt die Datenbank
Einstellbar ist, ob nach einer gewissen Timeout-Zeit aufgegeben werden soll, Anhand des Error-Level kann anschließend auf erfolgreiches Sperren getestet werden.
Die Extrablockaden spezifizieren ein zusaetzliches Intervall, in dem die Satztabelle (0: nach vorgefundener Freigabe, l: nach vorgefundener/getätigter Sperrung) nicht zugreifbar gehalten wird.
Gibt die Datenbank frei
Die Extrablockaden spezifizieren ein zusaetzliches Intervall, in dem die Satztabelle (0: nach Freigabe, l: vor Freigabe) nicht zugreifbar gehalten wird.
Testet Freigabe
Einstellbar ist, ob nur ein einmaliger Test erfolgen soll oder während einer gewissen Timeout-Zeit alle Interval Sekunden erneut getestet werden soll.
Wie Testtbl, jedoch nicht mit lock(). Gescheiterte Leseversuche werden daher als ! angezeigt, wo sie bei Testtbl mit . angezeigt würden.
^TopTestet Freigabe, Anzeige nur bei Statusänderung
Der Status der Satztabelle wird angezeigt. Danach wird während einer gewissen Timeout-Zeit alle Interval Millisekunden erneut getestet. Anzeige eines Statusbuchstabens erfolgt aber nur, wenn sich der Zustand der Datenbank geändert hat.
Sperrt die Satztabelle, beobachtet und gibt sie wieder frei
Die Satztabelle wird wie durch Locktbl gesperrt. Danach wird während einer gewissen Timeout-Zeit alle Interval Milliekunden erneut getestet (wie bei Viewtbl ohne lock()). Ist sie freigegeben, erfolgt ein Abbruch. Abschlieáend wird die Satztabelle freigegeben.
Die Zeiten gehen nach dem Mond, da DOS-Software, gelten sie nur für die CPU-Zeit der aktuellen DOS-Box. Es werden keine Timer gesetzt, sondern beim Start der Programme wird etwa die Dauer in eine Anzahl von Wiederholungen umgerechnet. Klar ist nur, daß die Laufzeit mindestens die angegebene Dauer beträgt. Als Faustregel sollte man erst einmal einen Faktor 10 im Vergleich zur tatsächen Zeit annehmen, bei kleinen Werten von Interval kann sogar ein Faktor 100 angemessener sein.