idl->request_id = json_clone(request->id);
if (idl->session) {
jsonrpc_session_send(idl->session, request);
+ } else {
+ jsonrpc_msg_destroy(request);
}
}
if (!any_updates) {
txn->status = TXN_UNCHANGED;
json_destroy(operations);
- } else if (txn->db->idl->session
- && !jsonrpc_session_send(
+ } else if (!txn->db->idl->session) {
+ txn->status = TXN_TRY_AGAIN;
+ json_destroy(operations);
+ } else if (!jsonrpc_session_send(
txn->db->idl->session,
jsonrpc_create_request(
"transact", operations, &txn->request_id))) {
}
if (idl->session) {
jsonrpc_session_send(idl->session, msg);
+ } else {
+ jsonrpc_msg_destroy(msg);
}
}
}