aboutsummaryrefslogtreecommitdiff
path: root/src/core/socket.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-06-06 09:24:31 -0700
committerGarrett D'Amore <garrett@damore.org>2017-06-06 09:25:37 -0700
commitbf2eb2eed3232cb9f3872d46c5e6bca8855840be (patch)
tree0eeb9e6082d32c997814cd1c9d3fa850176fa4eb /src/core/socket.c
parent4771d04fb589c406ff8b2fc1b4edf93b2df42515 (diff)
downloadnng-bf2eb2eed3232cb9f3872d46c5e6bca8855840be.tar.gz
nng-bf2eb2eed3232cb9f3872d46c5e6bca8855840be.tar.bz2
nng-bf2eb2eed3232cb9f3872d46c5e6bca8855840be.zip
Reconn times acquired atomically by socket under lock.
Diffstat (limited to 'src/core/socket.c')
-rw-r--r--src/core/socket.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index d091d126..ae399d73 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -792,6 +792,17 @@ nni_sock_rcvmaxsz(nni_sock *sock)
}
+void
+nni_sock_reconntimes(nni_sock *sock, nni_duration *rcur, nni_duration *rmax)
+{
+ // These two values are linked, so get them atomically.
+ nni_mtx_lock(&sock->s_mx);
+ *rcur = sock->s_reconn;
+ *rmax = sock->s_reconnmax ? sock->s_reconnmax : sock->s_reconn;
+ nni_mtx_unlock(&sock->s_mx);
+}
+
+
int
nni_sock_dial(nni_sock *sock, const char *addr, nni_ep **epp, int flags)
{