From 5540747ca2e5f37f2df504d689b850d1078fcdc5 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 30 Nov 2017 17:17:37 +0100 Subject: patch to address #5183: always round time before giving it to DB, tolerate DB answering without rounded time --- src/exchange/taler-exchange-aggregator.c | 5 ++++- src/exchange/test_taler_exchange_aggregator.c | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src/exchange') diff --git a/src/exchange/taler-exchange-aggregator.c b/src/exchange/taler-exchange-aggregator.c index 84aef1a89..788e817fd 100644 --- a/src/exchange/taler-exchange-aggregator.c +++ b/src/exchange/taler-exchange-aggregator.c @@ -1102,6 +1102,7 @@ run_reserve_closures (void *cls) enum GNUNET_DB_QueryStatus qs; const struct GNUNET_SCHEDULER_TaskContext *tc; struct ExpiredReserveContext erc; + struct GNUNET_TIME_Absolute now; task = NULL; reserves_idle = GNUNET_NO; @@ -1130,9 +1131,11 @@ run_reserve_closures (void *cls) } erc.session = session; erc.async_cont = GNUNET_NO; + now = GNUNET_TIME_absolute_get (); + (void) GNUNET_TIME_round_abs (&now); qs = db_plugin->get_expired_reserves (db_plugin->cls, session, - GNUNET_TIME_absolute_get (), + now, &expired_reserve_cb, &erc); switch (qs) diff --git a/src/exchange/test_taler_exchange_aggregator.c b/src/exchange/test_taler_exchange_aggregator.c index 0b56b4854..178b5aa32 100644 --- a/src/exchange/test_taler_exchange_aggregator.c +++ b/src/exchange/test_taler_exchange_aggregator.c @@ -440,7 +440,9 @@ do_deposit (struct Command *cmd) TALER_JSON_hash (deposit.receiver_wire_account, &deposit.h_wire)); deposit.timestamp = GNUNET_TIME_absolute_get (); + GNUNET_TIME_round_abs (&deposit.timestamp); deposit.wire_deadline = GNUNET_TIME_relative_to_absolute (cmd->details.deposit.wire_deadline); + GNUNET_TIME_round_abs (&deposit.wire_deadline); /* finally, actually perform the DB operation */ if ( (GNUNET_OK != -- cgit v1.2.3