summaryrefslogtreecommitdiff
path: root/src/bank-lib/taler-fakebank-run.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-08-03 14:08:45 +0200
committerChristian Grothoff <christian@grothoff.org>2021-08-03 14:08:45 +0200
commit9da05a1901fddb26a82fdaf853566c23116800fd (patch)
tree717207f2206f288439884e6b9ef119fb71326726 /src/bank-lib/taler-fakebank-run.c
parent0ce92c840281f750fa97451871d28e9855a0ce89 (diff)
downloadexchange-9da05a1901fddb26a82fdaf853566c23116800fd.tar.gz
exchange-9da05a1901fddb26a82fdaf853566c23116800fd.tar.bz2
exchange-9da05a1901fddb26a82fdaf853566c23116800fd.zip
improve error reporting (#6969)
Diffstat (limited to 'src/bank-lib/taler-fakebank-run.c')
-rw-r--r--src/bank-lib/taler-fakebank-run.c44
1 files changed, 34 insertions, 10 deletions
diff --git a/src/bank-lib/taler-fakebank-run.c b/src/bank-lib/taler-fakebank-run.c
index 5aa8650a0..ff9dcc17c 100644
--- a/src/bank-lib/taler-fakebank-run.c
+++ b/src/bank-lib/taler-fakebank-run.c
@@ -42,6 +42,25 @@ static int connection_close;
*/
static int ret;
+/**
+ * Handle for the service.
+ */
+static struct TALER_FAKEBANK_Handle *fb;
+
+
+/**
+ * Stop the process.
+ *
+ * @param cls NULL
+ */
+static void
+do_shutdown (void *cls)
+{
+ (void) cls;
+ TALER_FAKEBANK_stop (fb);
+ fb = NULL;
+}
+
/**
* Main function that will be run.
@@ -69,7 +88,7 @@ run (void *cls,
TALER_config_get_currency (cfg,
&currency_string))
{
- ret = 1;
+ ret = EXIT_NOTCONFIGURED;
return;
}
if (GNUNET_OK !=
@@ -92,15 +111,20 @@ run (void *cls,
"Maximum transaction history in RAM set to default of %llu\n",
ram);
}
- if (NULL ==
- TALER_FAKEBANK_start2 ((uint16_t) port,
- currency_string,
- ram,
- num_threads,
- (0 != connection_close) ))
- ret = 1;
+ fb = TALER_FAKEBANK_start2 ((uint16_t) port,
+ currency_string,
+ ram,
+ num_threads,
+ (0 != connection_close));
+ if (NULL == fb)
+ {
+ ret = EXIT_FAILURE;
+ return;
+ }
GNUNET_free (currency_string);
- ret = 0;
+ GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
+ NULL);
+ ret = EXIT_SUCCESS;
}
@@ -135,6 +159,6 @@ main (int argc,
options,
&run,
NULL))
- return 1;
+ return EXIT_INVALIDARGUMENT;
return ret;
}