From: David Tardon Date: Fri, 21 Apr 2023 13:13:35 +0000 (+0200) Subject: transaction: introduce transaction_abort_and_free() X-Git-Tag: v254-rc1~603^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=542fe40845e2e51980b7b53f3943b119be8e0214;p=thirdparty%2Fsystemd.git transaction: introduce transaction_abort_and_free() Will be used in following commits. --- diff --git a/src/core/transaction.c b/src/core/transaction.c index 0038d541b3e..1c71d58c81b 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 5258e27106d..79012d4d1d2 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(