These steps can be aborted at any point if the the created request belongs to is using the steps to abort a transaction.
Let transaction be the associated with source.
If request was not given, let request be a new request with as source.
Add request to the end of transaction’s request list.
Run these steps :
Wait until request is the first item in transaction’s request list that is not .
If result is an error and transaction’s state is , then run abort a transaction with transaction and error, and terminate these steps.
If result is an error, then revert all changes made by operation.
This only reverts the changes done by this request, not any other changes made by the transaction.
Set request’s to true.
Queue a task to run these steps: