diff options
author | Christian Grothoff <christian@grothoff.org> | 2023-01-22 15:24:45 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2023-01-22 15:24:45 +0100 |
commit | f221db1c035cf9e596300e79fe928c9edc5af2d0 (patch) | |
tree | f2097c3224b6737f87ba5d71386c675db6f1e5da /src | |
parent | f8bfc4dc9d9dcb69ccdd95258aea53dabf997246 (diff) | |
download | exchange-f221db1c035cf9e596300e79fe928c9edc5af2d0.tar.xz |
-address FIXMEs
Diffstat (limited to 'src')
-rw-r--r-- | src/exchange/taler-exchange-httpd_aml-decision.c | 14 | ||||
-rw-r--r-- | src/exchange/taler-exchange-httpd_management_aml-officers.c | 10 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/exchange/taler-exchange-httpd_aml-decision.c b/src/exchange/taler-exchange-httpd_aml-decision.c index 4589c8eb9..ae2667c1d 100644 --- a/src/exchange/taler-exchange-httpd_aml-decision.c +++ b/src/exchange/taler-exchange-httpd_aml-decision.c @@ -30,6 +30,12 @@ #include "taler-exchange-httpd_responses.h" +/** + * How often do we try the DB operation at most? + */ +#define MAX_RETRIES 10 + + MHD_RESULT TEH_handler_post_aml_decision ( struct TEH_RequestContext *rc, @@ -80,7 +86,7 @@ TEH_handler_post_aml_decision ( &new_threshold, &h_payto, new_state, - &officer_pub, + officer_pub, &officer_sig)) { GNUNET_break_op (0); @@ -94,19 +100,21 @@ TEH_handler_post_aml_decision ( enum GNUNET_DB_QueryStatus qs; struct GNUNET_TIME_Timestamp last_date; bool invalid_officer; + unsigned int retries_left = MAX_RETRIES; do { - // FIXME: bound loop? qs = TEH_plugin->insert_aml_decision (TEH_plugin->cls, &h_payto, &new_threshold, new_state, decision_time, justification, - &officer_pub, + officer_pub, &officer_sig, &invalid_officer, &last_date); + if (0 == --retries_left) + break; } while (GNUNET_DB_STATUS_SOFT_ERROR == qs); if (qs < 0) { diff --git a/src/exchange/taler-exchange-httpd_management_aml-officers.c b/src/exchange/taler-exchange-httpd_management_aml-officers.c index b82c18d47..abc7c3d84 100644 --- a/src/exchange/taler-exchange-httpd_management_aml-officers.c +++ b/src/exchange/taler-exchange-httpd_management_aml-officers.c @@ -31,6 +31,12 @@ #include "taler-exchange-httpd_responses.h" +/** + * How often do we try the DB operation at most? + */ +#define MAX_RETRIES 10 + + MHD_RESULT TEH_handler_management_aml_officers ( struct MHD_Connection *connection, @@ -90,9 +96,9 @@ TEH_handler_management_aml_officers ( { enum GNUNET_DB_QueryStatus qs; struct GNUNET_TIME_Timestamp last_date; + unsigned int retries_left = MAX_RETRIES; do { - // FIXME: bound loop! qs = TEH_plugin->insert_aml_officer (TEH_plugin->cls, &officer_pub, &master_sig, @@ -101,6 +107,8 @@ TEH_handler_management_aml_officers ( read_only, change_date, &last_date); + if (0 == --retries_left) + break; } while (GNUNET_DB_STATUS_SOFT_ERROR == qs); if (qs < 0) { |