HELPLIB.HLB  —  RTL Routines, PPL$  PPL$REMOVE_WORK_ITEM
    The Remove a Work Queue Item routine removes the next item in
    order from a work queue.

    Format

      PPL$REMOVE_WORK_ITEM  queue-id ,work-item [,flags] [,spin]

1  –  Arguments

 queue-id

    OpenVMS usage identifier
    type          longword (unsigned)
    access        read only
    mechanism     by reference
    The queue identifier. The queue-id argument is the address of an
    unsigned longword containing the identifier.

 work-item

    OpenVMS usage user_arg
    type          longword (unsigned)
    access        write only
    mechanism     by reference
    Receives the value of the item that is removed from the work
    queue. The work-item argument is the address of an unsigned
    longword that receives the value of the item that is removed
    from the work queue.

 flags

    OpenVMS usage mask_longword
    type          longword (unsigned)
    access        read only
    mechanism     by reference
    Specifies options for removing an item from the work queue. The
    optional flags argument is the address of a longword bit mask
    containing the flag. Valid values are as follows:

    PPL$M_NON_         If the specified work queue is empty, return
    BLOCKING           immediately with the PPL$_NOT_AVAILABLE status
                       indicating that no items are available to be
                       removed from the work queue. By default, if
                       the work queue is empty the process hibernates
                       until there is an item available to be removed
                       from the work queue.
    PPL$M_FROMTAIL     Remove item from the end (or tail) of the work
                       queue. By default, this routine removes an
                       item from the beginning (or head) of the work
                       queue.
    PPL$M_SPIN_WAIT    Indicates that the caller is never to block,
                       but rather to always spin while waiting at
                       this barrier.
    PPL$M_SPIN_        Indicates that the caller wishes to spin for
    COUNTED            a given amount of instructions and then to
                       block. The default is block immediately, do
                       not spin at all.

 spin

    OpenVMS usage mask_longword
    type          longword (unsigned)
    access        read only
    mechanism     by reference
    This value must be specified when using the PPL$M_SPIN_COUNTED
    flag and represents a relative time that a process will spin
    before blocking.
Close Help