exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit 0255fb4a2357392f1676e3a48d5dd81168f2f9d1
parent 622eb624b350a89918f92fc1084b67273e5e9eb4
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 12 Nov 2023 16:17:55 +0100

handle helper errors better

Diffstat:
Msrc/kyclogic/plugin_kyclogic_kycaid.c | 6++++--
Msrc/util/conversion.c | 15+++++----------
2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/src/kyclogic/plugin_kyclogic_kycaid.c b/src/kyclogic/plugin_kyclogic_kycaid.c @@ -822,7 +822,7 @@ webhook_conversion_cb (void *cls, struct MHD_Response *resp; wh->econ = NULL; - if ( (0 == code) || + if ( (0 == code) && (NULL == result) ) { /* No result, but *our helper* was OK => bad input */ @@ -852,7 +852,9 @@ webhook_conversion_cb (void *cls, if (NULL == result) { /* Failure in our helper */ - GNUNET_break (0); + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, + "Helper exited with status code %d\n", + (int) code); json_dumpf (wh->json_response, stderr, JSON_INDENT (2)); diff --git a/src/util/conversion.c b/src/util/conversion.c @@ -255,11 +255,6 @@ child_done_cb (void *cls, json_error_t err; ec->cwh = NULL; - GNUNET_log (GNUNET_ERROR_TYPE_INFO, - "Conversion helper exited with status %d and code %llu after outputting %llu bytes of data\n", - (int) type, - (unsigned long long) exit_code, - (unsigned long long) ec->read_pos); if (NULL != ec->read_task) { GNUNET_SCHEDULER_cancel (ec->read_task); @@ -267,11 +262,11 @@ child_done_cb (void *cls, the read buffer. So drain it now, just in case. */ read_cb (ec); } - if (NULL != ec->read_task) - { - GNUNET_SCHEDULER_cancel (ec->read_task); - ec->read_task = NULL; - } + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Conversion helper exited with status %d and code %llu after outputting %llu bytes of data\n", + (int) type, + (unsigned long long) exit_code, + (unsigned long long) ec->read_pos); GNUNET_OS_process_destroy (ec->helper); ec->helper = NULL; if (0 != ec->read_pos)