commit f636f2723d45333d1a442fd72141d03ccfd379e4
parent 4c01e26adbc0541de5e31012aaeadb4acfe1e016
Author: Dominik Hofer <dominik.hofer@bfh.ch>
Date: Fri, 6 Dec 2019 10:54:03 +0100
fix nfc payment
Diffstat:
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/main.c b/src/main.c
@@ -261,6 +261,11 @@ struct PaymentActivity
struct GNUNET_SCHEDULER_Task *delay_task;
/**
+ * Payment checking delayed task
+ */
+ struct GNUNET_SCHEDULER_Task *delay_pay_task;
+
+ /**
* What is the price the user is paying?
*/
struct TALER_Amount amount;
@@ -689,6 +694,8 @@ cleanup_payment (struct PaymentActivity *pa)
GNUNET_SCHEDULER_cancel (pa->task);
if (NULL != pa->delay_task)
GNUNET_SCHEDULER_cancel (pa->delay_task);
+ if (NULL != pa->delay_pay_task)
+ GNUNET_SCHEDULER_cancel (pa->delay_pay_task);
if (NULL != pa->taler_pay_uri)
{
#if HAVE_QRENCODE_H
@@ -1112,11 +1119,11 @@ check_payment_cb (void *cls,
QR code in the future and in that case the payment may happen
anytime even before the NFC communication succeeds. */
if ( (NULL == pa->cpo) &&
- (NULL == pa->delay_task) )
+ (NULL == pa->delay_pay_task) )
{
- pa->delay_task = GNUNET_SCHEDULER_add_delayed (MAX_HTTP_RETRY_FREQ,
- &check_payment_again,
- pa);
+ pa->delay_pay_task = GNUNET_SCHEDULER_add_delayed (MAX_HTTP_RETRY_FREQ,
+ &check_payment_again,
+ pa);
}
}
if (NULL == pa->taler_pay_uri)
@@ -1145,7 +1152,7 @@ check_payment_again (void *cls)
{
struct PaymentActivity *pa = cls;
- pa->delay_task = NULL;
+ pa->delay_pay_task = NULL;
GNUNET_assert (NULL == pa->cpo);
pa->cpo = TALER_MERCHANT_check_payment (ctx,
backendBaseUrl,