dg_lock_wait(2) DG/UX 5.4R3.00 dg_lock_wait(2)
NAME
dglockwait - wait for previously delayed lock requests to complete
SYNOPSIS
int dglockwait (clientidptr, clientidinuseptr)
int * clientidptr;
int * clientidinuseptr;
where:
clientidptr Space to return the client id of the
completed request
clientidinuseptr Space to return whether the lock client id
is in use
DESCRIPTION
Dglockwait(2) suspends the calling process until either a signal is
received, or a previously issued lock request that has been delayed
completes.
If a previously issued lock request completes, the clientidptr
argument identifies the client of the completed request, and
clientidinuseptr indicates whether client currently holds any
locks or lock requests. The return value may be 0 or -1, depending
upon whether the request was successful.
If a signal is received before any requests complete, then
dglockwait returns and both clientidptr and clientidinuseptr
are invalid. In this case, the return value is -1, and errno is set
to EINTR.
The only process that uses this function is the network lock server,
rpc.lockd.
ACCESS CONTROL
The caller must be super-user.
RETURN VALUE
0 The dglockwait operation was successful. The clientidptr
lock request was granted.
-1 An error occurred. errno indicates the error.
DIAGNOSTICS
Errno may be set to one of the following error codes:
EPERM Must be super-user to use this system call. The content of
both clientidptr and clientidinuseptr are invalid.
EFAULT One of the arguments points outside the process's readable
address space. The content of both clientidptr and
clientidinuseptr are invalid.
EDEADLK The clientidptr lock request is refused because it would
Licensed material--property of copyright holder(s) 1
dg_lock_wait(2) DG/UX 5.4R3.00 dg_lock_wait(2)
cause a deadlock. Both clientidptr and
clientidinuseptr are valid.
EINTR A signal was received. The content of both clientidptr
and clientidinuseptr are invalid.
SEE ALSO
dglcntl(2), dglockreset(2), fcntl(2), lockf(3C), fcntl(5).
Licensed material--property of copyright holder(s) 2