taler-mdb

GNU Taler Extensions and Integrations
Log | Files | Refs | Submodules | README | LICENSE

commit f636f2723d45333d1a442fd72141d03ccfd379e4
parent 4c01e26adbc0541de5e31012aaeadb4acfe1e016
Author: Dominik Hofer <dominik.hofer@bfh.ch>
Date:   Fri,  6 Dec 2019 10:54:03 +0100

fix nfc payment

Diffstat:
Msrc/main.c | 17++++++++++++-----
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,