diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-09-06 01:26:46 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-09-06 01:26:46 +0200 |
commit | 9086ed15c11db106179d54d125cbd3850eda0dc7 (patch) | |
tree | 725d766573306e6bba15c3138b2142baef8beea1 /src/bank-lib | |
parent | 87f5d8211e5c086bf33a0e974fc131a94625af00 (diff) | |
download | exchange-9086ed15c11db106179d54d125cbd3850eda0dc7.tar.xz |
-misc bugfixes
Diffstat (limited to 'src/bank-lib')
-rw-r--r-- | src/bank-lib/fakebank.c | 15 | ||||
-rw-r--r-- | src/bank-lib/taler-fakebank-run.c | 27 |
2 files changed, 34 insertions, 8 deletions
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; |