Library /sys$common/syshlp/helplib.hlb  —  CRTL  sigwaitinfo
    Suspends a calling thread and waits for queued signals to arrive.

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

    Format

      #include  <signal.h>

      int sigwaitinfo  (const sigset_t set, siginfo_t *info);

1  –  Arguments

 set

    The set of signals to wait for.

 info

    Pointer to a siginfo structure that is receiving data describing
    the signal, including any application-defined data specified when
    the signal was posted.

2  –  Description

    The sigwaitinfo function behaves the same as the sigwait function
    if the info argument is NULL.

    If the info argument is non-NULL, the sigwaitinfo function
    behaves the same as sigwait, except that the selected signal
    number is stored in the si_signo member of the siginfo structure,
    and the cause of the signal is stored in the si_code member.
    If any value is queued to the selected signal, the first such
    queued value is dequeued and the value is stored in the si_value
    member of info. The system resource used to queue the signal is
    released and made available to queue other signals. If no value
    is queued, the content of the si_value member is undefined. If no
    further signals are queued for the selected signal, the pending
    indication for that signal is reset.

    See also sigtimedwait and sigwait.

    See the "Error and Signal Handling" chapter of the VSI C RTL
    Reference Manual for more information on signal handling.

3  –  Return Values

    x                  Upon successful completion, the signal number
                       selected is returned.
    -1                 Indicates that an error occurred; errno is set
                       to one of the following values:

                       o  EINVAL - The set argument contains an
                          invalid or unsupported signal number.

                       o  EINTR - The wait was interrupted by an
                          unblocked, intercepted signal.
Close Help