summaryrefslogtreecommitdiff
path: root/src/util/crypto_helper_esign.c
diff options
context:
space:
mode:
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,