From 9086ed15c11db106179d54d125cbd3850eda0dc7 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 6 Sep 2021 01:26:46 +0200 Subject: -misc bugfixes --- src/bank-lib/fakebank.c | 15 +++++++-------- src/bank-lib/taler-fakebank-run.c | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 8 deletions(-) (limited to 'src/bank-lib') diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c index 6a6278ed5..2a53419b6 100644 --- a/src/bank-lib/fakebank.c +++ b/src/bank-lib/fakebank.c @@ -597,14 +597,9 @@ lookup_account (struct TALER_FAKEBANK_Handle *h, 0, sizeof (hc)); slen = strlen (name); - if (slen < sizeof (hc)) - memcpy (&hc, - name, - slen); /* fake hashing for speed! */ - else - GNUNET_CRYPTO_hash (name, - strlen (name), - &hc); + GNUNET_CRYPTO_hash (name, + slen, + &hc); GNUNET_assert (0 == pthread_mutex_lock (&h->accounts_lock)); account = GNUNET_CONTAINER_multihashmap_get (h->accounts, @@ -2582,6 +2577,8 @@ TALER_FAKEBANK_start2 (uint16_t port, &handle_mhd_completion_callback, h, MHD_OPTION_LISTEN_BACKLOG_SIZE, (unsigned int) 1024, + MHD_OPTION_CONNECTION_LIMIT, + (unsigned int) 65536, MHD_OPTION_END); if (NULL == h->mhd_bank) { @@ -2632,6 +2629,8 @@ TALER_FAKEBANK_start2 (uint16_t port, &handle_mhd_completion_callback, h, MHD_OPTION_LISTEN_BACKLOG_SIZE, (unsigned int) 1024, + MHD_OPTION_CONNECTION_LIMIT, + (unsigned int) 65536, MHD_OPTION_THREAD_POOL_SIZE, num_threads, MHD_OPTION_END); diff --git a/src/bank-lib/taler-fakebank-run.c b/src/bank-lib/taler-fakebank-run.c index 282e39501..7fa730469 100644 --- a/src/bank-lib/taler-fakebank-run.c +++ b/src/bank-lib/taler-fakebank-run.c @@ -47,6 +47,11 @@ static int ret; */ static struct TALER_FAKEBANK_Handle *fb; +/** + * Keepalive task in multi-threaded mode. + */ +static struct GNUNET_SCHEDULER_Task *keepalive; + /** * Stop the process. @@ -59,6 +64,24 @@ do_shutdown (void *cls) (void) cls; TALER_FAKEBANK_stop (fb); fb = NULL; + if (NULL != keepalive) + { + GNUNET_SCHEDULER_cancel (keepalive); + keepalive = NULL; + } +} + + +/** + * Task that should never be run. + * + * @param cls NULL + */ +static void +keepalive_task (void *cls) +{ + (void) cls; + GNUNET_assert (0); } @@ -125,10 +148,14 @@ run (void *cls, num_threads); if (NULL == fb) { + GNUNET_break (0); ret = EXIT_FAILURE; return; } GNUNET_free (currency_string); + keepalive = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, + &keepalive_task, + NULL); GNUNET_SCHEDULER_add_shutdown (&do_shutdown, NULL); ret = EXIT_SUCCESS; -- cgit v1.2.3