aboutsummaryrefslogtreecommitdiff
path: root/src/util/crypto_helper_esign.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-12-31 17:38:41 +0100
committerChristian Grothoff <christian@grothoff.org>2020-12-31 17:38:41 +0100
commit7514407487ebb0fa63f417cd25abc52fc75d75e1 (patch)
tree43e48570e598f3ae455c235848d0800cb45a2f84 /src/util/crypto_helper_esign.c
parentad62f0fb7e23cf0dc45bdc7630374b18b9ba730c (diff)
use same restart logic for EdDSA and RSA
Diffstat (limited to 'src/util/crypto_helper_esign.c')
-rw-r--r--src/util/crypto_helper_esign.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/util/crypto_helper_esign.c b/src/util/crypto_helper_esign.c
index 688afc7de..ca37c59eb 100644
--- a/src/util/crypto_helper_esign.c
+++ b/src/util/crypto_helper_esign.c
@@ -373,7 +373,15 @@ TALER_CRYPTO_helper_esign_poll (struct TALER_CRYPTO_ExchangeSignHelper *esh)
if (esh->synced)
break;
if (! await_read_ready (esh))
- break; /* timeout */
+ {
+ /* timeout AND not synced => full reconnect */
+ GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+ "Restarting connection to EdDSA helper, did not come up properly\n");
+ do_disconnect (dh);
+ try_connect (dh);
+ if (-1 == dh->sock)
+ return; /* give up */
+ }
continue; /* try again */
}
GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING,