# HG changeset patch # User Kristian H?gsberg # Date 1207541182 14400 # Node ID b38fc517ea046a162e21263daa32af1b01be9ab0 # Parent 7a53d17110835dce58bb80e96adac2b27a6226ed Merger razor_transaction_run() and destroy() as finish(). diff -r 7a53d1711083 -r b38fc517ea04 main.c --- a/main.c Mon Apr 07 00:02:01 2008 -0400 +++ b/main.c Mon Apr 07 00:06:22 2008 -0400 @@ -351,8 +351,7 @@ if (errors) return 1; - set = razor_transaction_run(trans); - razor_transaction_destroy(trans); + set = razor_transaction_finish(trans); razor_set_write(set, updated_repo_filename); razor_set_destroy(set); razor_set_destroy(upstream); @@ -376,8 +375,7 @@ if (errors) return 1; - set = razor_transaction_run(trans); - razor_transaction_destroy(trans); + set = razor_transaction_finish(trans); razor_set_write(set, updated_repo_filename); razor_set_destroy(set); printf("wrote system-updated.repo\n"); @@ -546,13 +544,7 @@ if (errors) return 1; - /* FIXME: Use _finish() convention here? That is, a function - * that starts the computation and returns the result while - * destroying the transaction. Nice for transient objects - * such as the merger and the importer. Should we do that for - * transactions too, that is, razor_transaction_finish()? */ - next = razor_transaction_run(trans); - razor_transaction_destroy(trans); + next = razor_transaction_finish(trans); /* FIXME: Need razor_set_write_to_fd() so we can open it excl * up front here or fail if it already exists. */ diff -r 7a53d1711083 -r b38fc517ea04 razor.c --- a/razor.c Mon Apr 07 00:02:01 2008 -0400 +++ b/razor.c Mon Apr 07 00:06:22 2008 -0400 @@ -2841,11 +2841,12 @@ } struct razor_set * -razor_transaction_run(struct razor_transaction *trans) +razor_transaction_finish(struct razor_transaction *trans) { struct array install_packages, remove_packages; struct razor_merger *merger; struct razor_package *pkg, *i, *iend, *r, *rend, *s, *send; + struct razor_set *set; struct source *source1, *source2; char *spool, *ipool, *rpool; uint32_t *map; @@ -2931,7 +2932,10 @@ array_release(&install_packages); array_release(&remove_packages); - return razor_merger_finish(merger); + set = razor_merger_finish(merger); + razor_transaction_destroy(trans); + + return set; } void diff -r 7a53d1711083 -r b38fc517ea04 razor.h --- a/razor.h Mon Apr 07 00:02:01 2008 -0400 +++ b/razor.h Mon Apr 07 00:06:22 2008 -0400 @@ -115,7 +115,7 @@ int update_count, const char **update_packages, int remove_count, const char **remove_packages); int razor_transaction_describe(struct razor_transaction *trans); -struct razor_set *razor_transaction_run(struct razor_transaction *trans); +struct razor_set *razor_transaction_finish(struct razor_transaction *trans); void razor_transaction_destroy(struct razor_transaction *trans); /* Temporary helper for test suite. */ diff -r 7a53d1711083 -r b38fc517ea04 test-driver.c --- a/test-driver.c Mon Apr 07 00:02:01 2008 -0400 +++ b/test-driver.c Mon Apr 07 00:06:22 2008 -0400 @@ -269,8 +269,7 @@ if (!errors) { struct razor_set *new; - new = razor_transaction_run(ctx->trans); - razor_set_destroy(ctx->system_set); + new = razor_transaction_finish(ctx->trans); ctx->system_set = new; } }