- status = (!any_updates ? TXN_SUCCESS
- : jsonrpc_session_send(
- txn->idl->session,
- jsonrpc_create_request(
- "transact", operations, &txn->request_id))
- ? TXN_TRY_AGAIN
- : TXN_INCOMPLETE);
+ if (!any_updates) {
+ txn->status = TXN_SUCCESS;
+ } else if (!jsonrpc_session_send(
+ txn->idl->session,
+ jsonrpc_create_request(
+ "transact", operations, &txn->request_id))) {
+ hmap_insert(&txn->idl->outstanding_txns, &txn->hmap_node,
+ json_hash(txn->request_id, 0));
+ } else {
+ txn->status = TXN_INCOMPLETE;
+ }