From 21bcc5fa0bb4e2c101fc71d5740934d5914eb480 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 22 May 2022 13:48:56 +0200 Subject: -fix wirewatch assertion --- src/benchmark/taler-bank-benchmark.c | 125 ++++++++++++++++++++++++++--------- 1 file changed, 94 insertions(+), 31 deletions(-) (limited to 'src/benchmark/taler-bank-benchmark.c') diff --git a/src/benchmark/taler-bank-benchmark.c b/src/benchmark/taler-bank-benchmark.c index 4d7dbe35e..75a7434d2 100644 --- a/src/benchmark/taler-bank-benchmark.c +++ b/src/benchmark/taler-bank-benchmark.c @@ -111,9 +111,9 @@ static char *cfg_filename; static int use_fakebank = 1; /** - * Launch taler-exchange-wirewatch. + * Number of taler-exchange-wirewatchers to launch. */ -static int start_wirewatch; +static unsigned int start_wirewatch; /** * Verbosity level. @@ -265,8 +265,9 @@ run (void *cls, (void) cls; len = howmany_reserves + 2; - all_commands = GNUNET_new_array (len, - struct TALER_TESTING_Command); + all_commands = GNUNET_malloc_large (len + * sizeof (struct TALER_TESTING_Command)); + GNUNET_assert (NULL != all_commands); GNUNET_asprintf (&total_reserve_amount, "%s:5", currency); @@ -465,14 +466,17 @@ launch_fakebank (void *cls) * * @return #GNUNET_OK on success */ -static int +static enum GNUNET_GenericReturnValue parallel_benchmark (void) { enum GNUNET_GenericReturnValue result = GNUNET_OK; pid_t fakebank = -1; struct GNUNET_OS_Process *bankd = NULL; - struct GNUNET_OS_Process *wirewatch = NULL; + struct GNUNET_OS_Process *wirewatch[GNUNET_NZL (start_wirewatch)]; + memset (wirewatch, + 0, + sizeof (wirewatch)); if ( (MODE_BANK == mode) || (MODE_BOTH == mode) ) { @@ -560,19 +564,30 @@ parallel_benchmark (void) GNUNET_OS_process_wait (dbinit)); GNUNET_OS_process_destroy (dbinit); } - if (start_wirewatch) + /* start exchange wirewatch */ + for (unsigned int w = 0; w