merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit b23781154ace70764e0c65efa1d49abba004dbf2
parent 8a488d52700ee2d85e3f24e5b644911eb65644f8
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 26 Sep 2017 13:45:28 +0200

fix extra start of retry_exchange task

Diffstat:
Msrc/backend/taler-merchant-httpd_exchanges.c | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_exchanges.c b/src/backend/taler-merchant-httpd_exchanges.c @@ -694,6 +694,7 @@ keys_mgmt_cb (void *cls, exchange->uri, GNUNET_STRINGS_relative_time_to_string (exchange->retry_delay, GNUNET_YES)); + GNUNET_assert (NULL == exchange->retry_task); exchange->retry_task = GNUNET_SCHEDULER_add_delayed (exchange->retry_delay, &retry_exchange, exchange); @@ -720,6 +721,8 @@ keys_mgmt_cb (void *cls, delay = GNUNET_TIME_absolute_get_remaining (expire); exchange->retry_delay = GNUNET_TIME_UNIT_ZERO; + if (NULL != exchange->retry_task) + GNUNET_SCHEDULER_cancel (exchange->retry_task); exchange->retry_task = GNUNET_SCHEDULER_add_delayed (delay, &retry_exchange, @@ -858,6 +861,7 @@ TMH_EXCHANGES_find_exchange (const char *chosen_exchange, { GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Do not have current key data. Will request /keys now\n"); + GNUNET_assert (NULL == exchange->retry_task); exchange->retry_task = GNUNET_SCHEDULER_add_now (&retry_exchange, exchange); } @@ -964,6 +968,7 @@ accept_exchanges (void *cls, exchange_tail, exchange); exchange->pending = GNUNET_YES; + GNUNET_assert (NULL == exchange->retry_task); exchange->retry_task = GNUNET_SCHEDULER_add_now (&retry_exchange, exchange); }