From 542fe40845e2e51980b7b53f3943b119be8e0214 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 21 Apr 2023 15:13:35 +0200 Subject: [PATCH] transaction: introduce transaction_abort_and_free() Will be used in following commits. --- src/core/transaction.c | 9 +++++++++ src/core/transaction.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/core/transaction.c b/src/core/transaction.c index 0038d541b3..1c71d58c81 100644 --- a/src/core/transaction.c +++ b/src/core/transaction.c @@ -1208,3 +1208,12 @@ Transaction *transaction_free(Transaction *tr) { return mfree(tr); } + +Transaction *transaction_abort_and_free(Transaction *tr) { + if (!tr) + return NULL; + + transaction_abort(tr); + + return transaction_free(tr); +} diff --git a/src/core/transaction.h b/src/core/transaction.h index 5258e27106..79012d4d1d 100644 --- a/src/core/transaction.h +++ b/src/core/transaction.h @@ -17,6 +17,8 @@ struct Transaction { Transaction *transaction_new(bool irreversible); Transaction *transaction_free(Transaction *tr); +Transaction *transaction_abort_and_free(Transaction *tr); +DEFINE_TRIVIAL_CLEANUP_FUNC(Transaction*, transaction_abort_and_free); void transaction_add_propagate_reload_jobs(Transaction *tr, Unit *unit, Job *by, bool ignore_order, sd_bus_error *e); int transaction_add_job_and_dependencies( -- 2.25.1