check dbinit return value to not fail hard if DB not available
This commit is contained in:
parent
808dc10bf4
commit
25618c561e
@ -554,7 +554,12 @@ decode_keys_json (const json_t *resp_obj,
|
||||
EXITIF (NULL == (denom_keys_array =
|
||||
json_object_get (resp_obj, "denoms")));
|
||||
EXITIF (JSON_ARRAY != json_typeof (denom_keys_array));
|
||||
EXITIF (0 == (key_data->num_denom_keys = json_array_size (denom_keys_array)));
|
||||
if (0 == (key_data->num_denom_keys = json_array_size (denom_keys_array)))
|
||||
{
|
||||
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
|
||||
"Found no denomination keys at this exchange\n");
|
||||
goto EXITIF_exit;
|
||||
}
|
||||
key_data->denom_keys = GNUNET_new_array (key_data->num_denom_keys,
|
||||
struct TALER_EXCHANGE_DenomPublicKey);
|
||||
index = 0;
|
||||
|
@ -3047,6 +3047,8 @@ main (int argc,
|
||||
struct GNUNET_OS_Process *proc;
|
||||
struct GNUNET_OS_Process *exchanged;
|
||||
struct GNUNET_SIGNAL_Context *shc_chld;
|
||||
enum GNUNET_OS_ProcessStatusType type;
|
||||
unsigned long code;
|
||||
|
||||
GNUNET_log_setup ("test-exchange-api",
|
||||
"WARNING",
|
||||
@ -3071,8 +3073,30 @@ main (int argc,
|
||||
"-c", "test_exchange_api.conf",
|
||||
"-r",
|
||||
NULL);
|
||||
GNUNET_OS_process_wait (proc);
|
||||
if (GNUNET_SYSERR ==
|
||||
GNUNET_OS_process_wait_status (proc,
|
||||
&type,
|
||||
&code))
|
||||
{
|
||||
GNUNET_break (0);
|
||||
GNUNET_OS_process_destroy (proc);
|
||||
return 1;
|
||||
}
|
||||
GNUNET_OS_process_destroy (proc);
|
||||
if ( (type == GNUNET_OS_PROCESS_EXITED) &&
|
||||
(0 != code) )
|
||||
{
|
||||
fprintf (stderr,
|
||||
"Failed to setup database\n");
|
||||
return 77;
|
||||
}
|
||||
if ( (type != GNUNET_OS_PROCESS_EXITED) ||
|
||||
(0 != code) )
|
||||
{
|
||||
fprintf (stderr,
|
||||
"Unexpected error running taler-exchange-dbinit!\n");
|
||||
return 1;
|
||||
}
|
||||
exchanged = GNUNET_OS_start_process (GNUNET_NO,
|
||||
GNUNET_OS_INHERIT_STD_ALL,
|
||||
NULL, NULL, NULL,
|
||||
@ -3081,7 +3105,8 @@ main (int argc,
|
||||
"-c", "test_exchange_api.conf",
|
||||
NULL);
|
||||
/* give child time to start and bind against the socket */
|
||||
fprintf (stderr, "Waiting for taler-exchange-httpd to be ready");
|
||||
fprintf (stderr,
|
||||
"Waiting for taler-exchange-httpd to be ready");
|
||||
do
|
||||
{
|
||||
fprintf (stderr, ".");
|
||||
|
@ -180,7 +180,6 @@ connect_to_postgres (struct PostgresClosure *pc)
|
||||
{
|
||||
TALER_LOG_ERROR ("Database connection failed: %s\n",
|
||||
PQerrorMessage (conn));
|
||||
GNUNET_break (0);
|
||||
return NULL;
|
||||
}
|
||||
PQsetNoticeReceiver (conn,
|
||||
|
Loading…
Reference in New Issue
Block a user