*** xa/xa.c.orig Sun Apr 18 21:19:43 1999 --- xa/xa.c Tue Apr 20 22:44:24 1999 *************** *** 195,201 **** */ if (is_known) { td = (TXN_DETAIL *)((u_int8_t *)env->tx_info->region + off); ! if (td->xa_status == TXN_XA_SUSPENDED && !LF_SET(TMRESUME)) return (XAER_PROTO); if (td->xa_status == TXN_XA_DEADLOCKED) return (XA_RBDEADLOCK); --- 195,201 ---- */ if (is_known) { td = (TXN_DETAIL *)((u_int8_t *)env->tx_info->region + off); ! if (td->xa_status == TXN_XA_SUSPENDED && !LF_ISSET(TMRESUME)) return (XAER_PROTO); if (td->xa_status == TXN_XA_DEADLOCKED) return (XA_RBDEADLOCK); *************** *** 361,371 **** if (td->xa_status == TXN_XA_ABORTED) return (XA_RBOTHER); ! if (LF_SET(TMONEPHASE) && td->xa_status != TXN_XA_ENDED && td->xa_status != TXN_XA_SUSPENDED) return (XAER_PROTO); ! if (!LF_SET(TMONEPHASE) && td->xa_status != TXN_XA_PREPARED) return (XAER_PROTO); /* Now, fill in the global transaction structure. */ --- 361,371 ---- if (td->xa_status == TXN_XA_ABORTED) return (XA_RBOTHER); ! if (LF_ISSET(TMONEPHASE) && td->xa_status != TXN_XA_ENDED && td->xa_status != TXN_XA_SUSPENDED) return (XAER_PROTO); ! if (!LF_ISSET(TMONEPHASE) && td->xa_status != TXN_XA_PREPARED) return (XAER_PROTO); /* Now, fill in the global transaction structure. */ *************** *** 572,582 **** if (td->xa_status == TXN_XA_ABORTED) return (XA_RBOTHER); ! if (LF_SET(TMONEPHASE) && td->xa_status != TXN_XA_ENDED && td->xa_status != TXN_XA_SUSPENDED) - return (XAER_PROTO); - - if (!LF_SET(TMONEPHASE) && td->xa_status != TXN_XA_PREPARED) return (XAER_PROTO); /* Now, fill in the global transaction structure. */ --- 572,579 ---- if (td->xa_status == TXN_XA_ABORTED) return (XA_RBOTHER); ! if (LF_ISSET(TMONEPHASE) && td->xa_status != TXN_XA_ENDED && td->xa_status != TXN_XA_SUSPENDED) return (XAER_PROTO); /* Now, fill in the global transaction structure. */