diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-03-04 10:56:17 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-03-04 10:56:17 +0100 |
commit | b21ae427f405ac4e54aba8aa5f6f2dcfa175a525 (patch) | |
tree | 69238951474da3a5b728026d12c5983b90547401 /src | |
parent | 170616949a7ed86662a79a95ec8f4ffeacc449f1 (diff) | |
download | merchant-b21ae427f405ac4e54aba8aa5f6f2dcfa175a525.tar.gz merchant-b21ae427f405ac4e54aba8aa5f6f2dcfa175a525.tar.bz2 merchant-b21ae427f405ac4e54aba8aa5f6f2dcfa175a525.zip |
related to #6774: rollback AND suspend before starting async activity
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/taler-merchant-httpd_post-tips-ID-pickup.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c b/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c index 797d6f25..4809fee8 100644 --- a/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c +++ b/src/backend/taler-merchant-httpd_post-tips-ID-pickup.c @@ -826,6 +826,13 @@ RETRY: if (! rollback) { TMH_db->rollback (TMH_db->cls); + MHD_suspend_connection (connection); + GNUNET_CONTAINER_DLL_insert (pc_head, + pc_tail, + pc); + pc->tt = GNUNET_SCHEDULER_add_delayed (EXCHANGE_TIMEOUT, + &do_timeout, + pc); rollback = true; } try_withdraw (pc, @@ -835,17 +842,8 @@ RETRY: qs = GNUNET_DB_STATUS_SUCCESS_NO_RESULTS; } } - if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) - { - MHD_suspend_connection (connection); - GNUNET_CONTAINER_DLL_insert (pc_head, - pc_tail, - pc); - pc->tt = GNUNET_SCHEDULER_add_delayed (EXCHANGE_TIMEOUT, - &do_timeout, - pc); + if (rollback) return MHD_YES; - } } if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS != qs) { |