diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-08-31 13:38:03 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-08-31 13:38:03 -0700 |
| commit | 1b2a93503e0ed108f7c4add4bcf4b201a363bb80 (patch) | |
| tree | a1a824f99e7a09c2ba90a72a4dd5134a67195b3e | |
| parent | 49c8c264057c4c7b0f9ff45f352168cb1deeb1a1 (diff) | |
| download | nng-1b2a93503e0ed108f7c4add4bcf4b201a363bb80.tar.gz nng-1b2a93503e0ed108f7c4add4bcf4b201a363bb80.tar.bz2 nng-1b2a93503e0ed108f7c4add4bcf4b201a363bb80.zip | |
fixes #693 Failed dial results in hard spin
| -rw-r--r-- | src/core/dialer.c | 3 | ||||
| -rw-r--r-- | src/core/socket.c | 2 |
2 files changed, 4 insertions, 1 deletions
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; } |
