summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-wirewatch.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-07-18 21:16:21 +0200
committerChristian Grothoff <christian@grothoff.org>2021-07-18 21:16:21 +0200
commit29b4e71bf552cba3d93ed0de80a6fe1f6a6228a6 (patch)
treee1cc6a5a3c7657e89b8b9dde18fde4937464a495 /src/exchange/taler-exchange-wirewatch.c
parent6d7eb372b2cb30c0549fa1b76177bb7f5f28776c (diff)
downloadexchange-29b4e71bf552cba3d93ed0de80a6fe1f6a6228a6.tar.gz
exchange-29b4e71bf552cba3d93ed0de80a6fe1f6a6228a6.tar.bz2
exchange-29b4e71bf552cba3d93ed0de80a6fe1f6a6228a6.zip
-fix misc interesting wirewatch in test mode with sharding issues
Diffstat (limited to 'src/exchange/taler-exchange-wirewatch.c')
-rw-r--r--src/exchange/taler-exchange-wirewatch.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/exchange/taler-exchange-wirewatch.c b/src/exchange/taler-exchange-wirewatch.c
index 03f6e9e87..4cdba6405 100644
--- a/src/exchange/taler-exchange-wirewatch.c
+++ b/src/exchange/taler-exchange-wirewatch.c
@@ -548,6 +548,7 @@ history_cb (void *cls,
(unsigned long long) serial_id,
(unsigned long long) wa->shard_end);
wa->latest_row_off = serial_id - 1;
+ wa->delay = false;
do_commit (wa);
wa->hh = NULL;
return GNUNET_SYSERR;
@@ -629,12 +630,15 @@ find_transfers (void *cls)
struct GNUNET_TIME_Relative delay;
/* advance to next shard */
- delay.rel_value_us = GNUNET_CRYPTO_random_u64 (
- GNUNET_CRYPTO_QUALITY_WEAK,
- 4 * GNUNET_TIME_relative_max (
- wirewatch_idle_sleep_interval,
- GNUNET_TIME_relative_multiply (shard_delay,
- max_workers)).rel_value_us);
+ if (0 == max_workers)
+ delay = GNUNET_TIME_UNIT_ZERO;
+ else
+ delay.rel_value_us = GNUNET_CRYPTO_random_u64 (
+ GNUNET_CRYPTO_QUALITY_WEAK,
+ 4 * GNUNET_TIME_relative_max (
+ wirewatch_idle_sleep_interval,
+ GNUNET_TIME_relative_multiply (shard_delay,
+ max_workers)).rel_value_us);
qs = db_plugin->begin_shard (db_plugin->cls,
wa_pos->job_name,
delay,