Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dg_lock_wait(2) — DG/UX R4.11

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fcntl(2)

lockf(3C)

fcntl(5)



dg_lock_wait(2)                   SDK R4.11                  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 have appropriate privilege.

       For systems supporting the DG/UX Capability Option, appropriate
       privilege is defined as having one or more specific capabilities
       enabled in the effective capability set of the calling process.  See
       capdefaults(5) for the default capability for this system call.

       On systems without the DG/UX Capability Option, appropriate privilege
       means that the process has an effective UID of root.  See the
       appropriateprivilege(5) man page for more information.

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 have appropriate privilege 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
                 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),
       appropriateprivilege(5), fcntl(5).
       capdefaults(5).


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026