this needs to implement checked transactions such that only the transaction initiator thread can terminate it . concode_field_sep int TX_NOT_SUPPORTED concode_elem_sep int TX_CHAINED concode_elem_sep int TX_ROLLBACK concode_elem_sep int TX_ROLLBACK_NO_BEGIN concode_elem_sep boolean __tx_open concode_elem_sep int TX_HAZARD_NO_BEGIN concode_elem_sep int TX_HAZARD concode_elem_sep int TX_COMMIT_COMPLETED concode_elem_sep int TX_PROTOCOL_ERROR concode_elem_sep int TX_OUTSIDE concode_elem_sep int TX_NO_BEGIN concode_elem_sep int TX_EINVAL concode_elem_sep Hashtable __tx_report_heuristics concode_elem_sep int TX_COMMIT_DESICION_LOGGED concode_elem_sep boolean __tx_allow_nesting concode_elem_sep int TX_OK concode_elem_sep int TX_UNCHAINED concode_elem_sep int TX_ERROR concode_elem_sep int TX_FAIL concode_field_sep int tx_open concode_elem_sep int tx_allow_nesting concode_elem_sep int tx_disable_nesting concode_elem_sep int tx_set_transaction_timeout concode_elem_sep int tx_begin concode_elem_sep int tx_set_commit_return concode_elem_sep int tx_close concode_elem_sep int tx_commit concode_elem_sep int tx_set_transaction_control
int function ( ) { int loc0 = tx . TX_OK ; CurrentImple loc1 = OTSImpleManager . loc1 ( ) ; try { loc1 . rollback ( ) ; } catch ( NoTransaction loc2 ) { loc0 = tx . TX_NO_BEGIN ; } catch ( Exception loc2 ) { loc0 = tx . TX_FAIL ; } return loc0 ; }