]> dgit.raspbian.org Git - dovecot.git/commitdiff
[PATCH 3/6] lib-sql: Add sql_commit_schedule_delayed() helper
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 2 Jun 2026 09:54:41 +0000 (09:54 +0000)
committerNoah Meyerhans <noahm@debian.org>
Wed, 16 Sep 2026 19:06:35 +0000 (15:06 -0400)
Gbp-Pq: Name 0003-lib-sql-Add-sql_commit_schedule_delayed-helper.patch

src/lib-sql/sql-api.c

index 87c7ff32699f7dcdfbdeb17b940aecd075ad656b..c7d2328dd81f2bac613c0a150e84415618685dd3 100644 (file)
@@ -885,6 +885,19 @@ static void sql_commit_delayed_callback(struct sql_commit_result_delayed *cb)
        i_free(cb);
 }
 
+static void
+sql_commit_schedule_delayed(struct sql_db *db, const char *error,
+                           sql_commit_callback_t *callback, void *context)
+{
+       struct sql_commit_result_delayed *cb = i_new(struct sql_commit_result_delayed, 1);
+       cb->db = db;
+       cb->error = i_strdup(error);
+       cb->callback = callback;
+       cb->context = context;
+       cb->to = timeout_add_short(0, sql_commit_delayed_callback, cb);
+       DLLIST_PREPEND(&db->commit_delayed_list, cb);
+}
+
 #undef sql_transaction_commit
 void sql_transaction_commit(struct sql_transaction_context **_ctx,
                            sql_commit_callback_t *callback, void *context)
@@ -898,15 +911,9 @@ void sql_transaction_commit(struct sql_transaction_context **_ctx,
                return;
        }
 
-       struct sql_commit_result_delayed *cb = i_new(struct sql_commit_result_delayed, 1);
        const char *error = NULL;
        ctx->db->v.transaction_commit_s(ctx, &error);
-       cb->db = db;
-       cb->error = i_strdup(error);
-       cb->callback = callback;
-       cb->context = context;
-       cb->to = timeout_add_short(0, sql_commit_delayed_callback, cb);
-       DLLIST_PREPEND(&db->commit_delayed_list, cb);
+       sql_commit_schedule_delayed(db, error, callback, context);
 }
 
 int sql_transaction_commit_s(struct sql_transaction_context **_ctx,