VMS Help  —  CRTL  sem_wait
    Performs a semaphore lock.

    This function is supported on OpenVMS Integrity servers and
    Alpha only.

    Format

      #include  <semaphore.h>

      int sem_wait  (sem_t *sem);

1  –  Argument

 sem

    The semaphore to be locked.

2  –  Description

    The sem_wait function locks the semaphore referenced by sem by
    performing a semaphore lock operation on it. If the semaphore
    value is zero, the sem_wait function blocks until it either locks
    the semaphore or is interrupted by a signal.

    The sem_wait and sem_trywait functions help ensure that the
    resource associated with the semaphore cannot be accessed by
    other processes. The semaphore remains locked until the process
    unlocks it with a call to the sem_post function.

    Use the sem_wait function instead of the sem_trywait function if
    the process should wait for access to the semaphore.

3  –  Return Values

    0                  Successful completion. The function executes
                       the semaphore lock operation.
    -1                 Indicates an error. The function sets errno to
                       one of the following values:

                       o  EINTR - A signal interrupted this function.

                       o  EVMSERR - OpenVMS specific nontranslatable
                          error code.
Close Help