Otherwise: Signal the Disconnect Connection using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_NO_MEM Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XAER_RMERR from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_LOG_FULL Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XA_RBTRANSIENT from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_DUPLICATE Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XAER_DUPID from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Connection Disconnected When a connection (section 2.2.4.4) is disconnected, the XA Superior Transaction Manager MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to : Return XAER_RMFAIL from xa_start call.
Otherwise: Signal the Disconnect Connection using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_NO_MEM Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XAER_RMERR from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_LOG_FULL Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XA_RBTRANSIENT from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Receiving an XAUSER_XACT_MTAG_START_DUPLICATE Message When the XA Superior Transaction Manager receives an message, it MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to Awaiting Start Response: Return XAER_DUPID from xa_start call. Signal the Disconnect Connection event using the receiving Connection as the argument. Otherwise: Signal the Disconnect Connection event using the receiving Connection as the argument. Connection Disconnected When a connection (section 2.2.4.4) is disconnected, the XA Superior Transaction Manager MUST perform the following actions: If the State field of the receiving XA Transaction CMP Connection object is set to : Return XAER_RMFAIL from xa_start call.