From 1b2a93503e0ed108f7c4add4bcf4b201a363bb80 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 31 Aug 2018 13:38:03 -0700 Subject: fixes #693 Failed dial results in hard spin --- src/core/dialer.c | 3 +++ src/core/socket.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/dialer.c b/src/core/dialer.c index b76bff6d..00ebb513 100644 --- a/src/core/dialer.c +++ b/src/core/dialer.c @@ -328,6 +328,9 @@ nni_dialer_setopt(nni_dialer *d, const char *name, const void *val, size_t sz, int rv; nni_mtx_lock(&d->d_mtx); rv = nni_copyin_ms(&d->d_inirtime, val, sz, t); + if (rv == 0) { + d->d_currtime = d->d_inirtime; + } nni_mtx_unlock(&d->d_mtx); return (rv); } diff --git a/src/core/socket.c b/src/core/socket.c index becd9b55..b2f331fb 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1355,7 +1355,7 @@ dialer_timer_start_locked(nni_dialer *d) } backoff = d->d_currtime; d->d_currtime *= 2; - if (d->d_currtime > d->d_maxrtime) { + if ((d->d_maxrtime > 0) && (d->d_currtime > d->d_maxrtime)) { d->d_currtime = d->d_maxrtime; } -- cgit v1.2.3-70-g09d2