enum LockMode { NL=0,IS=1,IX=2,S=3,SIX=4,U=5,X=6 };
VASResult shore_vas::lockObj(
const lrid_t &obj,
LockMode lock,
RequestMode blockmode = Blocking
);
The argument lock takes one of the values
enum LockMode { NL=0,IS=1,IX=2,S=3,SIX=4,U=5,X=6 },
which indicates what kind of a lock the SVAS will acquire
when the object is read.
A value of NL has no effect.
If the object is already locked at some level, the lock is
upgraded if appropriate.
The argument blockmode takes a value from the enumeration
enum RequestMode { NonBlocking=0, Blocking = 1 };
The default value is Blocking, in which case the
call to
lockObj
does not return until the lock is acquired or
a deadlock occurs.
Nonblocking lock requests are not implemented to date.
LockObj must be called when a transaction is active.
Deadlocks can occur while locks are being acquired. See transaction(svas) for information about deadlocks.
A complete list of errors is in errors(svas).