aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/dialer.c3
-rw-r--r--src/core/socket.c2
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;
}