Signal1 (MQLONG)

This is an input field that is used only in conjunction with the MQGMO_SET_SIGNAL option; it identifies a signal that is to be delivered when a message is available.

Note: The data type and usage of this field are determined by the environment; for this reason, applications that we want to port between different environments must not use signals.

  • On z/OS, this field must contain the address of an Event Control Block (ECB). The ECB must be cleared by the application before the MQGET call is issued. The storage containing the ECB must not be freed until the queue is closed. The ECB is posted by the queue manager with one of the signal completion codes described. These completion codes are set in bits 2 through 31 of the ECB, the area defined in the z/OS mapping macro IHAECB as being for a user completion code.
  • In all other environments, this is a reserved field; its value is not significant.

The signal completion codes are:

    MQEC_MSG_ARRIVED
    A suitable message has arrived on the queue. This message has not been reserved for the caller; a second MQGET request must be issued, but another application might retrieve the message before the second request is made.

    MQEC_WAIT_INTERVAL_EXPIRED
    The specified WaitInterval has expired without a suitable message arriving.

    MQEC_WAIT_CANCELED
    The wait was canceled for an indeterminate reason (such as the queue manager terminating or the queue being disabled). Reissue the request if we want further diagnosis.

    MQEC_Q_MGR_QUIESCING
    The wait was canceled because the queue manager has entered the quiescing state (MQGMO_FAIL_IF_QUIESCING was specified on the MQGET call).

    MQEC_CONNECTION_QUIESCING
    The wait was canceled because the connection has entered the quiescing state (MQGMO_FAIL_IF_QUIESCING was specified on the MQGET call).

The initial value of this field is determined by the environment:

  • On z/OS, the initial value is the null pointer.
  • In all other environments, the initial value is 0.

Parent topic: Fields for MQGMO