merchant

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

commit a9efaf54b146a1b816b83229363173ed518e6ce1
parent ae3d1db454a46b817935525823caf05bd5c96590
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 11 Apr 2021 01:35:10 +0200

fix crash if resumed task immediately suspends again

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

diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c @@ -420,6 +420,8 @@ do_resume (void *cls) MHD_resume_connection (sc->con); TMH_trigger_daemon (); /* we resumed, kick MHD */ } + if (NULL != resume_timeout_task) + GNUNET_SCHEDULER_cancel (resume_timeout_task); resume_timeout_task = GNUNET_SCHEDULER_add_at (sc->long_poll_timeout, &do_resume, NULL); @@ -715,11 +717,6 @@ do_shutdown (void *cls) GNUNET_CONTAINER_heap_destroy (resume_timeout_heap); resume_timeout_heap = NULL; } - if (NULL != resume_timeout_task) - { - GNUNET_SCHEDULER_cancel (resume_timeout_task); - resume_timeout_task = NULL; - } if (NULL != mhd) { MHD_stop_daemon (mhd); @@ -733,6 +730,11 @@ do_shutdown (void *cls) } TMH_EXCHANGES_done (); TMH_AUDITORS_done (); + if (NULL != resume_timeout_task) + { + GNUNET_SCHEDULER_cancel (resume_timeout_task); + resume_timeout_task = NULL; + } if (NULL != payment_trigger_map) { GNUNET_CONTAINER_multihashmap_iterate (payment_trigger_map,