Skip to main content

commit_transaction

Function commit_transaction 

Source
pub unsafe extern "C" fn commit_transaction() -> u64
Expand description

Commit the transaction that was started by either initiate_transaction or recv_transaction.

Blocks until the other guest either calls commit_transaction, or rollback_transaction, or panics.

This call singnifies that the current guest finished its part of the transaction. Calling this function without an active transaction will result in panic.

Returns zero on success. Returns non-zero when any of the following is true:

  • the other side of this transaction panics or calls rollback_transaction,
  • any other low-level error is encountered.

ยงSynchronous execution

This is synchronous operation, i.e. all guests that participate in the transaction are executed in lockstep until the transaction completes. The transaction is considered complete when either both guests call end_transaction or one of the guests panics.