NLM_CANCEL - Cancel Lock
-
-
struct nlm_cancargs {
netobj cookie;
bool block;
bool exclusive;
struct nlm_lock alock;
};
-
-
struct nlm_res {
netobj cookie;
nlm_stat stat;
};
-
-
nlm_res
NLM_CANCEL(nlm_cancargs) = 3;
This procedure cancels an outstanding blocked lock request.
If the client made an NLM_LOCK procedure with "nlm_lockargs.block" set to true, and the procedure was blocked by the server (that is, the procedure returned a
status of "LCK_BLOCKED"), the client can choose to cancel this outstanding lock request by using this procedure. The "block", "exclusive" and "alock" arguments must exactly match the corresponding arguments to the NLM_LOCK procedure.
When the procedure returns, "stat" will be set to one of the following values:
- LCK_GRANTED
- Indicates that the procedure completed successfully. The NLM may also return this code even if the "alock.oh" of the NLM_CANCEL procedure call does not match that of the outstanding lock request, or if there is no matching outstanding lock request.
- LCK_DENIED
- Indicates that the procedure failed possibly because there was no lock to cancel.
- LCK_DENIED_GRACE_PERIOD
Indicates that the procedure failed because the server host has recently been rebooted and the server NLM is re-establishing existing locks, and is not yet ready to accept normal service requests.
Contents | Next section | Index |