Subroutine odm_lock

Zweck

Setzt eine exklusive Sperre für den angeforderten Pfadnamen.

Bibliothek

Objektdatenmanager-Bibliotheklibodm.a)

Syntax

#include <odmi.h>
int odm_lock ( LockPath TimeOut)
char *LockPath;
int TimeOut;

Beschreibung

Das Unterprogramm odm_lock wird von einer Anwendung verwendet, um andere Anwendungen oder Methoden am Zugriff auf eine Objektklasse oder eine Gruppe von Objektklassen zu hindern. Eine Sperre für einen Verzeichnispfadnamen hindert eine andere Anwendung nicht daran, eine Sperre für ein Unterverzeichnis oder eine Objektklasse in diesem Verzeichnis anzufordern.

Anmerkung: Die Koordination der Sperrung liegt in der Zuständigkeit der Anwendung, die auf die Objektklassen zugreift.

Das Unterprogramm odm_lock gibt eine Sperrkennung zurück, die zum Aufruf des Unterprogramms odm_unlock verwendet wird.

Parameter

Element Beschreibung
LockPath Gibt eine Zeichenfolge an, die den Pfadnamen in dem Dateisystem enthält, in dem nach Objektklassen gesucht werden soll, oder den Pfadnamen zu einer zu sperrenden Objektklasse.
TimeOut Gibt die Wartezeit in Sekunden an, wenn eine andere Anwendung oder Methode eine Sperre für die angeforderte (n) Objektklasse (n) hält. Mögliche Werte für den Parameter TimeOut sind:
TimeOut = ODM_NOWAIT
Das Unterprogramm odm_lock ist erfolglos, wenn die Sperre nicht sofort gewährt werden kann.
TimeOut = Ganzzahl
Das Unterprogramm odm_lock wartet die angegebene Anzahl von Sekunden, um eine erfolglose Sperranforderung zu wiederholen.
TimeOut = ODM_WAIT
Das Unterprogramm odm_lock wartet, bis der gesperrte Pfadname von seiner aktuellen Sperre befreit ist, und sperrt ihn dann.

Rückgabewerte

Nach erfolgreicher Beendigung wird eine Sperrkennung zurückgegeben. Wenn das Unterprogramm odm_lock nicht erfolgreich ist, wird ein Wert von -1 zurückgegeben und die Variable odmerrno auf einen Fehlercode gesetzt.

Fehlercodes

Bei einem Fehlschlag des Unterprogramms odm_lock wird die Variable odmerrno auf einen der folgenden Fehlercodes gesetzt:

Siehe ../bostechref/odm_error_codes.html für Erläuterungen zu den ODM.