HELPLIB.HLB  —  CRTL  sem_trywait
    Conditionally performs a semaphore lock.

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

    Format

      #include  <semaphore.h>

      int sem_trywait  (sem_t *sem);

1  –  Argument

 sem

    The semaphore to be locked.

2  –  Description

    The sem_trywait function locks a semaphore only if the semaphore
    is currently not locked. If the semaphore value is zero, the sem_
    trywait function returns without locking the semaphore.

    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  EAGAIN - The semaphore was already locked
                          and cannot be locked by the sem_trywait
                          operation.

                       o  EINVAL - The sem argument does not refer to
                          a valid semaphore.

                       o  EVMSERR - OpenVMS specific nontranslatable
                          error code.
Close Help